aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAge
* netxen: do_rom_fast_write error handlingStephen Hemminger2007-02-27
| | | | | | | | | | | Compiler warning spots real error! The function do_rom_fast_read called in do_rom_fast_write can fail and leave data1 unset. This causes a compile warning. The correct thing is to propagate the error out. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* natsemi: Fix detection of vanilla natsemi cardsMark Brown2007-02-27
| | | | | | | | | | | | | | Bob Tracy <rct@gherkin.frus.com> reported that the addition of support for Aculab E1/T1 cPCI carrier cards broke detection of vanilla natsemi cards. This patch fixes that: the problem is that the driver-specific ta in the PCI device table is an index into a second table and this had not been updated for the vanilla cards. This patch fixes the problem minimally. Signed-Off-By: Mark Brown <broonie@sirena.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* net: remove a collection of unneeded #undef REALLY_SLOW_IO stuffAlan2007-02-27
| | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* chelsio: Fix non-NAPI compileRoland Dreier2007-02-27
| | | | | | | | | | | | | | | | Chelsio without NAPI enabled has been broken (won't compile) since 3de00b89 ("chelsio: NAPI speed improvement"): drivers/net/chelsio/sge.c: In function `t1_interrupt`: drivers/net/chelsio/sge.c:1716: error: `Q` undeclared (first use in this function) The change below seems to add back in the declaration and initialization of `Q` that was removed by mistake, and at least makes the driver compile for me, although I have no hardware and hence no way to test whether this actually works. Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Feed Rx free list with pagesDivy Le Ray2007-02-27
| | | | | | | Populate Rx free list with pages. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Recovery from HW starvation of response queue entries.Divy Le Ray2007-02-27
| | | | | | | Improve the traffic recovery after the HW ran out of response queue entries. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Unmap offload packets when they are freedDivy Le Ray2007-02-27
| | | | | | | | | Offload packets may be DMAed long after their SGE Tx descriptors are done so they must remain mapped until they are freed rather than until their descriptors are freed. Unmap such packets through an skb destructor. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - FW version updateDivy Le Ray2007-02-27
| | | | | | | Update FW version to 3.2 Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - private ioctl cleanupDivy Le Ray2007-02-27
| | | | | | | Clean up some private ioctls. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - manage sysfs attributes per portDivy Le Ray2007-02-27
| | | | | | | sysfs attributes are now managed per port, no longer per adapter. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* S2IO: Restoring the mac address in s2io_resetSivakumar Subramani2007-02-27
| | | | | | | | | | | - Restore in s2io_reset, the mac address assigned during s2io_open. Earlier, it was getting overwritten to the factory default (read from the eeprom) and subsequently dropping received frames. - Fixed the typo in calling rtnl_unlock in s2io_set_link function. Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* S2IO: Avoid printing the Enhanced statistics for Xframe I card.Sivakumar Subramani2007-02-27
| | | | | | | | | - Enhanced Statistics are supported only for Xframe II (Herculas) card. Add condition check such Enhanced statistics will included only in the case of Xframe II card. Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* S2IO: Making LED off during LINK_DOWN notification.Sivakumar Subramani2007-02-27
| | | | | | | | | - Turning off LED for LINK_DOWN notification - Return from rxd_owner_bit_reset function if call to set_rxd_buffer_pointer fails with ENOMEM Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* S2IO: Added a loadable parameter to enable or disable vlan stripping in frame.Sivakumar Subramani2007-02-27
| | | | | | | | | | - Added code to not to strip vlan tag when driver is in promiscuous mode - Added module loadable parameter 'vlan_tag_strip" through which user can enable or disable vlan stripping irrespective of mode ( promiscuous or non-promiscuous ). Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* S2IO: Optimized the delay to wait for command completionSivakumar Subramani2007-02-27
| | | | | | | | | | | - Optimized delay to wait for command completion so as to reduce the initialization wait time. - Disable differentiated services steering. By default RMAC is configured to steer traffic with certain DS codes to other queues. Driver must initialize the DS memory to 0 to make sure that DS steering will not be used by default. Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* S2IO: Fixes for MSI and MSIXSivakumar Subramani2007-02-27
| | | | | | | | | | | | - Added debug statements to print a debug message if the MSI/MSI-X vector (or) data is zero. - This patch removes the code that will enable NAPI for the case of single ring and MSI-X / MSI case. There are some issue in the enabling NAPI with MSI/MSI-X. So we are turning off NAPI in the case of MSI/MSI-X. Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Bumping driver version numberBenjamin 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: Kernic Panic on pSeries under stress conditionsBenjamin Li2007-02-27
| | | | | | | | | | | | | | | | | | | | To reproduce this panic consistently, we run an intensive network application like 'netperf'. After waiting for a couple of seconds, you will see a stack trace and a kernel panic where we are calling pci_unmap_single() in ql_poll(). Changes: 1) Check the flags on the Response MAC IO Control block to check for errors 2) Ensure that if we are on the 4022 we only use one segment 3) Before, we were reading the memory mapped producer index register everytime we iterated in the loop when clearing the queue. We should only be iterating to a known point, not as the producer index is being updated. 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: bugfix tx reset after stress conditions.Ron Mercer2007-02-27
| | | | | | | | | | | | | | | | | To Reproduce the Problem: To reproduce this panic consistently, we run an intensive network application like 'netperf' and then switch to a different console. After waiting for a couple of seconds, you will see a tx reset has occured. Reason: We enable interrupts even if we were not running. Solution: Now we will enable interrupts only after we are ready to give up the poll routine. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Check return code from pci_map_single() in ↵Benjamin Li2007-02-27
| | | | | | | | | | | | ql_release_to_lrg_buf_free_list(), ql_populate_free_queue(), ql_alloc_large_buffers(), and ql3xxx_send() pci_map_single() could fail. We need to properly check the return code from pci_map_single(). If we can not properly map this address, then we should cleanup and return the proper return code. 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: bugfix: Fixed jumbo frame handling for 3032 chip.Ron Mercer2007-02-27
| | | | | | | | The scatter/gather lists were not being build correctly. When large frames spanned several buffers the chip would panic. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Clean up receive process.Ron Mercer2007-02-27
| | | | | Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Dynamically size the rx buffer queue based on the MTU.Ron Mercer2007-02-27
| | | | | | | | | This change removes use of constants for rx buffer queue size and instead calculates the queue length based on what he MTU is set to. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* qla3xxx: Remove API to change MTU.Ron Mercer2007-02-27
| | | | | | | | | | | | | This network device driver shares the same hardware as the qla4xxx iSCSI driver. Changing the MTU via the device interface will cause qla4xxx to crash as there is no way to make notification. Users wishing to change the MTU must do so using an iSCSI utility such as Qlogic SanSurfer. This forces the user to unload/reload this network device driver after the MTU value has been changed in flash. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* 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>