aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* qla3xxx: Fix deadlock issue on error pathsBenjamin Li2007-02-27
| | | | | | | | | | | 1) Fix deadlock issue when in QL_RESET_ACTIVE state and traversing through the Link State Machine 2) Fix deadlock issue when ethtool would call ql_get_settings() 3) Fix deadlock issue when adaptor is ifup'ed but adaptor fails to initialize Signed-off-by: Benjamin Li <benjamin.li@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Changed to use netdev_alloc_skb() from dev_alloc_skbBenjamin Li2007-02-27
| | | | | | Signed-off-by: Benjamin Li <benjamin.li@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Remove unnecessary memset() in qla3xxx_send()Benjamin Li2007-02-27
| | | | | | | | | | | | We do not need to zero out the 64 byte MAC request I/O control block. By zeroing out the control block and setting it to proper fields is redundant work. This is because in the qla3xxx_send() function we will already set the proper fields in this structure. The unused fields are not looked at by the hardware and do not need to be zeroed out. Signed-off-by: Benjamin Li <benjamin.li@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Return proper error codes when the 4022/4032 is being probedBenjamin Li2007-02-27
| | | | | | | | | | | | The return code was not properly set when when allocating memory or mapping memory failed. Depending on the stack, the return code would sometimes return 0, which indicates everything was ok, when in fact there was an error. This would cause trouble when the module was removed. Now, we will pass back the proper return code when an error occurs during the PCI probe. Signed-off-by: Benjamin Li <benjamin.li@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Alignment in mv643xx_ethRalf Baechle2007-02-27
| | | | | | | | | | | | | | | | | The driver contains this little piece of candy: #if defined(CONFIG_DMA_NONCOHERENT) || defined(CONFIG_NOT_COHERENT_CACHE) #define ETH_DMA_ALIGN L1_CACHE_BYTES #else #define ETH_DMA_ALIGN 8 #endif Any reason why we're not using dma_get_cache_alignment() instead? Ralf Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* sgiseeq: Don't include unnecessary headerfiles.Ralf Baechle2007-02-27
| | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ucc_geth: use of_get_mac_address()Timur Tabi2007-02-27
| | | | | | | | Update ucc_geth_probe() to use function of_get_mac_address() to obtain the MAC address. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* skge: comma consistencyStephen Hemminger2007-02-27
| | | | | | | Use comma's consistently. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* skge: fix transmitter flow controlStephen Hemminger2007-02-27
| | | | | | | | | | | | It looks like the skge driver inherited another bug from the sk98lin code. If I send from 1000mbit port to a machine on 100mbit port, the switch should be doing hardware flow control, but no pause frames show up in the statistics. This is the analog of the recent sky2 fixes. The device needs to listen for multicast pause frames and then not discard them. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* myri10ge: workaround buggy adopted firmwaresBrice Goglin2007-02-27
| | | | | | | | | Work around a bug which occurs when adopting firmware versions 1.4.4 though 1.4.11 where broadcasts are filtered as if they were multicasts. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* NetXen: Driver ifconfig fixAmit S. Kale2007-02-27
| | | | | Signed-off-by: Amit S. Kale <amitkale@netxen.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* NetXen: Driver unload fixesAmit S. Kale2007-02-27
| | | | | Signed-off-by: Amit S. Kale <amitkale@netxen.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: janitorial, typosLinas Vepstas2007-02-27
| | | | | | | | | Janitorial patch. Undo long lines, fix typo in err msg. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Jens Osterkamp <Jens.Osterkamp@de.ibm.com> Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: transmit raceLinas Vepstas2007-02-27
| | | | | | | | | | | Multiple threads performing a transmit can race into the spidernet tx ring cleanup code. This puts the relevant check under a lock. Signed-off-by: Linas Vepstas <lins@austin.ibm.com> Cc: Jens Osterkamp <Jens.Osterkamp@de.ibm.com> Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: fix racy double-free of skbLinas Vepstas2007-02-27
| | | | | | | | | | | | It appears that under certain circumstances, a race will result in a double-free of an skb. This patch null's out the skb pointer upon the skb free, avoiding the inadvertent deref of bogus data. The next patch fixes the actual race. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Jens Osterkamp <Jens.Osterkamp@de.ibm.com> Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: separate hardware state from driver state.Linas Vepstas2007-02-27
| | | | | | | | | | | This patch separates the hardware descriptor state from the driver descriptor state, per (old) suggestion from Ben Herrenschmidt. This compiles and boots and seems to work. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Jens Osterkamp <Jens.Osterkamp@de.ibm.com> Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: move medium variable into card structJens Osterkamp2007-02-27
| | | | | | | | | This moves the medium variable into the spidernet card structure. It renames the GMII_ variables to BCM54XX specific ones. Signed-off-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: remove txram full loggingIshizaki Kou2007-02-27
| | | | | | | | | | This patches removes logging for SPIDER_NET_GTMFLLINT interrupts. Since the interrupts are not irregular, and they happen frequently when using 100Mbps network switches. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: spidernet: add support for CellebKou Ishizaki2007-02-27
| | | | | | | | | This patch adds or changes some HW specific settings for spider_net on Celleb. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: load firmware when openKou Ishizaki2007-02-27
| | | | | | | | | This patch moves calling init_firmware() from spider_net_probe() to spider_net_open() so as to use the driver by built-in. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: autoneg support for CellebKou Ishizaki2007-02-27
| | | | | | | | Add auto negotiation support for Celleb. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* spidernet: compile break.Linas Vepstas2007-02-27
| | | | | | | | | | | | As of 2.6.20-git4, the spider_net driver does not compile. This appears to be due to some archaic usage involving kobjects. It also fixes a nasty double-free during ifdown of the interface. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Jens Osterkamp <Jens.Osterkamp@de.ibm.com> Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* sungem_phy: support bcm5461 phy, autoneg.Jens Osterkamp2007-02-27
| | | | | | | | | | | | | | | | | | | | | | | | This version moves the medium variable to the card specific structure and changes the GMII_* to BCM54XX_* #defines. This patch adds improved version of enable_fiber for both the 5421 and the 5461 phy. It is now possible to specify with these wether you want autonegotiation or not. This is needed for bladecenter switches where some expect autonegotiation and some dont seem to like this at all. Depending on this flag it sets phy->autoneg accordingly for the fiber mode. More importantly it implements proper read_link and poll_link functions for both phys which can handle both copper and fiber mode by determining the medium first and then branching to the required functions. For fiber they all work fine, for copper they are not tested but return the result of the genmii_* function anyway which is supposed to work. The patch moves the genmii_* functions around to avoid foreward declarations. Signed-off-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* forcedeth: fix checksum feature in mcp65Ayaz Abdulla2007-02-27
| | | | | | | | | This patch removes checksum offload feature in mcp65 chipsets as they are not supported in hw. Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* forcedeth: disable msixAyaz Abdulla2007-02-27
| | | | | | | | | There seems to be an issue when both MSI-X is enabled and NAPI is configured. This patch disables MSI-X until the issue is root caused. Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* forcedeth: fixed missing call in napi pollAyaz Abdulla2007-02-27
| | | | | | | | | The napi poll routine was missing the call to the optimized rx process routine. This patch adds the missing call for the optimized path. Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [netdrvr] tc35815: fix obvious bugsJeff Garzik2007-02-27
| | | | | | | | * clear_page() use is wrong. We might have multiple pages. Use memset() instead. * Call pci_unregister_driver() in module exit. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2007-02-26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (51 commits) [libata] bump versions [libata] Trim trailing whitespace. [libata] sata_mv: Fix 50xx irq mask [libata] sata_mv: don't touch reserved bits in EDMA config register libata: Use new id_to_dma_mode function to tidy reporting in more drivers (minimally tested) pata_pcmcia: Fix oops in 2.6.21-rc1 Add id_to_dma_mode function for printing DMA modes sata_promise: simplify port setup sata_promise: fix 20619 new EH merge error [libata] ACPI: remove needless ->qc_issue hook existence test sata_vsc: refactor vsc_sata_interrupt and hook up error handling sata_sil: ignore and clear spurious IRQs while executing commands by polling sata_mv: fix pci_enable_msi() error handling pata_amd: fix an obvious bug in cable detection [libata] ata_piix: remove duplicate PCI IDs sata_nv: complain on spurious completion notifiers libata: test major version in ata_id_is_sata() sata_nv: kill old private BMDMA helper functions libata: fix remaining ap->id ahci: consider SDB FIS containing spurious NCQ completions HSM violation (regenerated) ...
| * [libata] bump versionsJeff Garzik2007-02-26
| | | | | | | | | | | | Bump versions based on changes submitted during 2.6.21 merge window. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [libata] Trim trailing whitespace.Jeff Garzik2007-02-26
| | | | | | | | | | | | No code changes. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [libata] sata_mv: Fix 50xx irq maskJeff Garzik2007-02-26
| | | | | | | | | | | | | | | | | | | | | | IRQ mask bits assumed a 60xx or newer generation chip, which is very wrong for the 50xx series. Luckily both generations shared the per-port interrupt mask bits, leaving only the "misc chip features" bits to be completely mismatched. Fix 50xx by ensuring we only program bits that exist. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [libata] sata_mv: don't touch reserved bits in EDMA config registerJeff Garzik2007-02-26
| | | | | | | | | | | | | | | | | | | | The code in mv_edma_cfg() reflected its 60xx origins, by doing things [slightly] incorrectly on the older 50xx and newer 6042/7042 chips. Clean up the EDMA configuration setup such that, each chip family carefully initializes its own EDMA setup. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * libata: Use new id_to_dma_mode function to tidy reporting in more drivers ↵Alan2007-02-25
| | | | | | | | | | | | | | (minimally tested) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * pata_pcmcia: Fix oops in 2.6.21-rc1Alan2007-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | Manuel Lass reports: > This bug is also present in 2.6.21-rc1, and this patch > indeed fixes it. The change to the devres layer re-orders the execution of cleanup functions and in turn causes the pcmcia layer to oops as it zaps a pointer now needed later on. We simply leave the pointer alone. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * Add id_to_dma_mode function for printing DMA modesAlan2007-02-25
| | | | | | | | | | | | | | | | Also export dev_disable as this is needed by drivers doing slave decode filtering, which will follow shortly Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_promise: simplify port setupMikael Pettersson2007-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each place in pdc_ata_init_one() that initialises a SATA port first calls pdc_ata_setup_port(), and then manually assigns the port's ->scr_addr. Simplify the code by extending pdc_ata_setup_port() to also handle scr_addr initialisation; for PATA ports we pass NULL as scr_addr. The initialisation of the PATA-only 20619 redundantly set up scr_addr for the ports. Remove this. Tested on 20619, 20575, and 20775 chips. Signed-off-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_promise: fix 20619 new EH merge errorMikael Pettersson2007-02-25
| | | | | | | | | | | | | | | | | | When I merged my 20619 new EH conversion with #libata-upstream I had to manually resolve a conflict, and inadvertently lost pdc_pata_ops' ->post_internal_cmd binding. Corrected by this patch. Signed-off-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [libata] ACPI: remove needless ->qc_issue hook existence testJeff Garzik2007-02-24
| | | | | | | | | | | | | | All drivers must implement this hook, otherwise ATA commands would go nowhere (and a lot of other oopsen would appear as well). Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_vsc: refactor vsc_sata_interrupt and hook up error handlingDan Williams2007-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate sata_vsc interrupt handling into a normal (per-port) path and an error path with the addition of vsc_port_intr and vsc_error_intr respectively. The error path handles interrupt based hotplug events which requires the definition of vsc_freeze and vsc_thaw. Note: vsc_port_intr has a workaround for unexpected interrupts that occur during polled commands. This fixes a regression between 2.6.19 and 2.6.20. Changes in take2: * removed definition of invalid fis bit * let standard ata-error-handling handle the serror register * clear all unhandled interrupts * revert changes to vsc_intr_mask_update (vsc_thaw enables all interrupts) * use unlikely() for the pci-abort and not-our-interrupt cases in vsc_sata_interrupt Changes in take3: * Unify the "add" + "hook-up" patches into this single patch [htejun@gmail.com: clean up comments and suggestions] Cc: Jeremy Higdon <jeremy@sgi.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_sil: ignore and clear spurious IRQs while executing commands by pollingTejun Heo2007-02-24
| | | | | | | | | | | | | | | | | | | | | | | | sata_sil used to trigger HSM error if IRQ occurs during polling command. This didn't matter because polling wasn't used in sata_sil. However, as of 2.6.20, all IDENTIFYs are performed by polling and device detection sometimes fails due to spurious IRQ. This patch makes sata_sil ignore and clear spurious IRQ while executing commands by polling. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_mv: fix pci_enable_msi() error handlingTejun Heo2007-02-24
| | | | | | | | | | | | | | | | intx should be turned on when pci_enable_msi() fails not when it succeeds. Fix it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * pata_amd: fix an obvious bug in cable detectionTejun Heo2007-02-24
| | | | | | | | | | | | | | | | 80c test mask is at bits 18 and 19 of EIDE Controller Configuration not 22 and 23. Fix it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [libata] ata_piix: remove duplicate PCI IDsJeff Garzik2007-02-23
| | | | | | | | | | | | | | | | | | Duplicate ids noticed by Kay Sievers <kay.sievers@suse.de> Although 100% different, this is based on a patch by Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_nv: complain on spurious completion notifiersRobert Hancock2007-02-23
| | | | | | | | | | | | | | | | | | | | | | Recently Tejun wrote a patch to ahci.c to make it raise a HSM violation if the drive attempted to complete a tag that wasn't outstanding. We could run into the same problem with sata_nv ADMA. This adds code to raise a HSM violation error if the controller gives us a notifier tag that isn't outstanding, since the drive may be issuing spurious completions. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * sata_nv: kill old private BMDMA helper functionsRobert Hancock2007-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | sata_nv implemented its own copies of the BMDMA helper functions for ADMA, since the ADMA BMDMA status registers are PIO while the other registers are MMIO, and this was the only way to handle this previously. Now that we have iomap support, the standard routines should just work, so use them. The only thing we need to override as far as ADMA and BMDMA is the post_internal_cmd callback, where we should only call ata_post_internal_cmd if we are in port-register mode. Signed-off-by: Robert Hancock <hancockr@shaw.ca> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * libata: fix remaining ap->idTejun Heo2007-02-23
| | | | | | | | | | | | | | | | | | Merge order left libata-acpi and pata_scc with remainling usage of ap->id. Kill superflous id printing and substitute the remaining ones with ap->print_id. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * ahci: consider SDB FIS containing spurious NCQ completions HSM violation ↵Tejun Heo2007-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (regenerated) SDB FIS containing spurious NCQ completions is a clear protocol violation. Currently, only some Maxtors with early firmware revisions are showing this problem. Those firmwares have other NCQ related problems including buggy NCQ error reporting and occasional lock up after NCQ errors. Consider spurious NCQ completions HSM violation and freeze the port after it. EH will turn off NCQ after this happens several times. Eventually drives which show this behavior should be blacklisted for NCQ. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * pata_sl82c105: remove un-needed code pathsAlan2007-02-21
| | | | | | | | | | | | | | | | | | Remove the DMA setup function. As pointed out by Sergey we set the actual DMA clock timing in set_dmamode so we don't actually need to do anything with it at set up time, but just leave the PIO timings loaded. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * pata_sil680: Assorted fixesAlan2007-02-21
| | | | | | | | | | | | | | Correct iordy handling and DMA bit flag handling. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * pata_oldpiix: Call both PIO and DMA setup functions on switch as they are ↵Alan2007-02-21
| | | | | | | | | | | | | | | | | | called on set up Keeps the behaviour consistent and easier to understand. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>