summaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] bcm43xx: Fix PPC machine checks and match loopback gain specsLarry Finger2007-04-101-25/+32
| | | | | | | | | | The specifications for loopback_gain calculation and for G PHY initialization have been updated. This patch implements them and fixes a machine check error that occurs for PPC architecture with a phy->rev of 1. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* [PATCH] bcm43xx: Fix 802.11b/g scan limits to match regulatory reqsLarry Finger2007-04-101-1/+19
| | | | | | | | | | | In 802.11b/g mode, bcm43xx actively scans channels 1-14 no matter what locale has been set, either in the sprom or by the locale option. This behaviorviolates regulatory rules everywhere in the world except Japan. This patch changes the default range to the correct value if the locale has been set, and to channels 1-13 if no locale has been set. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* [PATCH] zd1211rw: Fix E2P_PHY_REG patchingDaniel Drake2007-04-102-9/+4
| | | | | | | | | | | | | | | Due to conflicting/confusing defines in the vendor driver, we were reading E2P_PHY_REG from the wrong location. CR157 patching was slightly incorrect in that the vendor driver only patches in an 8-bit value, whereas we were patching 24 bits. Additionally, CR157 patching was happening on both zd1211 and zd1211b, but this should only happen on zd1211. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Ulrich Kunitz <kune@deine-taler.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* [PATCH] zd1211rw: Reject AL2230S devicesDaniel Drake2007-04-103-1/+8
| | | | | | | | | | | | zd1211rw currently detects AL2230S-based devices as AL2230, and hence programs the RF incorrectly. Transmit silently fails on this misconfiguration. After this patch, AL2230S devices are rejected with an error message, to avoid any confusion with an apparent driver bug. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* r8169: fix suspend/resume for down interfaceFrancois Romieu2007-04-031-6/+7
| | | | | | | | | | | The PM hooks are no-op if the r8169 interface is down (i.e. !IFF_UP). However, as the chipset is enabled, the device will not work after a suspend/resume cycle. The patch always issue the required PCI suspend sequence and removes the module unload/reload workaround. Signed-off-by: Arnaud Patard <apatard@mandriva.com> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* r8169: issue request_irq after the private data are completely initializedFrancois Romieu2007-04-031-15/+18
| | | | | | | | | | The irq handler schedules a NAPI poll request unconditionally as soon as the status register is not clean. It has been there - and wrong - for ages but a recent timing change made it apparently easier to trigger. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* b44: fix IFF_ALLMULTI handling of CAM slotsBill Helfinstine2007-04-031-1/+1
| | | | | | | | | | | | | | | | If you set the IFF_ALLMULTI flag on a b44 device, or if you join more than B44_MCAST_TABLE_SIZE multicast groups, the device will stop receiving unicast messages. This is because the __b44_set_mac_addr call sets the zeroth CAM entry to the MAC address of the device, and then the loop at line 1722 proceeds to overwrite it unless the value of i is set by the __b44_load_mcast call. However, when IFF_ALLMULTI is set, that call is bypassed, leaving i set to zero. Fixed by starting the loop at 1 to make it skip the CAM entry for the MAC address. Signed-off-by: Bill Helfinstine <bhelf@flitterfly.whirpon.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Firwmare updateDivy Le Ray2007-04-032-3/+6
| | | | | | | | Introduce FW micro version. Bump up FW version to 3.3.0 Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Tighten xgmac workaroundDivy Le Ray2007-04-033-4/+17
| | | | | | | | | | | Run the watchdog task when the link is up. Flush the XGMAC Tx FIFO when the link drops. Also remove a statistics update that should have gone in the previous modification of xgmac.c. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - detect NIC only adaptersDivy Le Ray2007-04-035-14/+29
| | | | | | | | Differentiate NIC only adapters from RNICs. Initialize offload capabilities for RNICs only. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* cxgb3 - Safeguard TCAM size usageDivy Le Ray2007-04-033-3/+11
| | | | | | | Ensure that the TCAM active region size is at least 16. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [BNX2]: Fix nvram write logic.Michael Chan2007-04-021-18/+16
| | | | | | | | | | | | | | | | The nvram dword alignment logic was broken when writing less than 4 bytes on a non-aligned offset. It was missing logic to round the length to 4 bytes. The page erase code is also moved so that it is only called when using non-buffered flash for better code clarity. Update version to 1.5.7. Based on initial patch from Tony Cureington <tony.cureington@hp.com>. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2007-04-011-5/+25
|\ | | | | | | | | | | | | | | | | | | * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4298/1: fix memory barriers for DMA coherent and SMP platforms [ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2) [ARM] Fix __NR_kexec_load [ARM] Export dma_channel_active() [ARM] 4296/1: ixp4xx: compile fix [ARM] 4289/1: AT91: SAM9260 NAND flash timing
| * [ARM] 4295/2: Fix error-handling in pxaficp_ir.c (version 2)Guennadi Liakhovetski2007-04-011-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses the following issues with the pxa2xx FIr driver: 1. increment overrun error counter and not frame error counter on ICSR1_ROR bit set in ICSR1. 2. drop frames reported with the frame error from the IC. 3. when resetting the receiver and preparing it for the next DMA in pxa_irda_fir_irq() actually clear the Rx FIFO. See description in Table 11-2 in PXA270 Developer's Manual of the RXE bit. Correction added in version 2: clearing the IC Rx FIFO also has to be done in pxa_irda_fir_dma_tx_irq() Signed-off-by: G. Liakhovetski <gl@dsa-ac.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge branch 'upstream-linus' of ↵Linus Torvalds2007-03-293-1/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: NetXen: Fix hardware access for ppc architecture. sis190: new PHY support atl1: save mac address on remove
| * | NetXen: Fix hardware access for ppc architecture.Linsys Contractor Adhiraj Joshi2007-03-291-1/+2
| | | | | | | | | | | | | | | | | | | | | NetXen: Fix for hardware access on big endian machine. Signed-off-by: Adhiraj Joshi <adhiraj@netxen.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | sis190: new PHY supportFrancois Romieu2007-03-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported to work on the WinFast 761GXK8MB-RS motherboard. Plain 10/100 Mbps. Signed-off-by: Paul Gibbons <paul@pkami.e7even.com> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | atl1: save mac address on removeChris Snook2007-03-291-0/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | Some atl1 boards get their MAC address written directly to the register by the BIOS during POST, rather than storing it in EEPROM that's accessible to the driver. If the MAC register on one of these boards is changed and then the module is unloaded, the permanent MAC address will be forgotten until the box is rebooted. We should save the permanent address during removal if we've been messing with it. Signed-off-by: Chris Snook <csnook@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [IFB]: Fix crash on input device removalPatrick McHardy2007-03-291-22/+13
| | | | | | | | | | | | | | | | | | | | | | | | The input_device pointer is not refcounted, which means the device may disappear while packets are queued, causing a crash when ifb passes packets with a stale skb->dev pointer to netif_rx(). Fix by storing the interface index instead and do a lookup where neccessary. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [BNX2]: Fix link interrupt problem.Michael Chan2007-03-281-4/+4
|/ | | | | | | | | | | bnx2_has_work()'s logic is flawed and can cause the driver to miss a link event. The fix is to compare the status block's attn_bits and attn_bits_ack to determine if there is a link event. Update version to 1.5.6. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'upstream-fixes' of ↵Jeff Garzik2007-03-282-8/+8
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
| * [PATCH] bcm43xx: Fix machine check on PPC for version 1 PHYDavid Woodhouse2007-03-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | Recent changes in the specs that were introduced in commit 740ac4fb08866d702be90f167665d03759bd27d0 were incorrect and resulted in machine check errors on the PPC architecture for G PHY's with a revision number equal to 1. The two offending changes are reverted. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * [PATCH] bcm43xx: fix radio_set_tx_iqStefano Brivio2007-03-271-1/+1
| | | | | | | | | | | | | | | | Fix a duplicated leftshift in bcm43xx_radio_set_tx_iq. data_high values are already leftshifted. Thanks to Michael Buesch for spotting this. Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * [PATCH] bcm43xx: Fix code for confusion between PHY revision and PHY versionLarry Finger2007-03-271-5/+5
| | | | | | | | | | | | | | | | | | There are several places where the PHY version and revision were interchanged. These are changed in the specifications on 2/13/07 and now use "analog" instead instead of "version" to help reduce confusion. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | SUN3/3X Lance trivial fix improvedCyrill V. Gorcunov2007-03-281-1/+15
| | | | | | | | | | | | | | | | This patch adds checking for allocated DVMA memory and granted IRQ line. Signed-off-by: Cyrill V. Gorcunov <gorcunov@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | mv643xx_eth: Fix use of uninitialized port_num fieldGabriel Paubert2007-03-281-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this driver, the default ethernet address is first set by by calling eth_port_uc_addr_get() which reads the relevant registers of the corresponding port as initially set by firmware. However that function used the port_num field accessed through the private area of net_dev before it was set. The result was that one board I have ended up with the unicast address set to 00:00:00:00:00:00 (only port 1 is connected on this board). The problem appeared after commit 84dd619e4dc3b0b1c40dafd98c90fd950bce7bc5. This patch fixes the bug by setting mp->port_num prior to calling eth_port_uc_get_addr(). Signed-off-by: Gabriel Paubert <paubert@iram.es> Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | forcedeth: fix tx timeoutAyaz Abdulla2007-03-281-1/+2
| | | | | | | | | | | | | | | | | | | | The tx timeout routine was waking the tx queue conditionally. However, it must call it unconditionally since the dev_watchdog has halted the tx queue before calling the timeout function. Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | forcedeth: fix nic pollAyaz Abdulla2007-03-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | The nic poll routine was missing the call to the optimized irq routine. This patch adds the missing call for the optimized path. See http://bugzilla.kernel.org/show_bug.cgi?id=7950 for more information. Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | qla3xxx: bugfix: Jumbo frame handling.Ron Mercer2007-03-282-16/+16
| | | | | | | | | | | | | | | | | | | | Fixed rx checksum bits. Turn on TCP processing for rx checksum. Fixed max frame length register write. It wasn't getting set in multi-port system. Set rx buffer queue length properly for jumbo frames. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | qla3xxx: bugfix: Dropping interrupt under heavy network load.Ron Mercer2007-03-281-41/+30
| | | | | | | | | | | | | | | | | | | | Update the rx queue pointer when exiting NAPI poll rather than at the end of each iteration. Remove unnecessary PCI flushes that occurred after every write. Now write all regs and flush once. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | qla3xxx: bugfix: Multi segment sends were getting whacked.Ron Mercer2007-03-281-7/+2
| | | | | | | | | | | | | | The proper header length was not being used. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | qla3xxx: bugfix: Add tx control block memset.Ron Mercer2007-03-281-0/+1
| | | | | | | | | | | | | | | | This was removed in a previous patch to increase performance, but caused a transmit error for the 4032 chip. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | atl1: remove unnecessary crc inversionJay Cliburn2007-03-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | The original vendor driver contained a private ether_crc_le() function that produced an inverted crc. When we changed to the kernel version of ether_crc_le(), we neglected to undo the inversion. Let's do it now. Discovered by and patch proffered by Jose Alberto Reguero. Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | myri10ge: correctly detect when TSO should be usedBrice Goglin2007-03-281-4/+3
| | | | | | | | | | | | | | | | | | | | Correctly detect when TSO should be used on transmit by looking at the skb->gso_size rather than seeing if the frame was larger than our MTU. The old method causes problems when a host with a large (jumbo) MTU is sending to a host with a small (standard) MTU. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [SUNGEM]: Fix MAC address setting when interface is up.Ruben Vandeginste2007-03-261-0/+30
| | | | | | | | | | | | | | | | | | | | This patch implements set_mac_address for the sungem driver. This allows changing the mac address of the interface, even when the interface is up. Signed-off-by: Ruben Vandeginste <snowbender@gmail.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [PPP]: Don't leak an sk_buff on interface destruction.G. Liakhovetski2007-03-251-0/+3
| | | | | | | | | | | | Signed-off-by: G. Liakhovetski <gl@dsa-ac.de> Acked-by: Paul Mackerras <paulus@samba.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [TG3]: Update version and reldate.Michael Chan2007-03-251-2/+2
| | | | | | | | | | | | | | Update version to 3.75. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [TG3]: Exit irq handler during chip reset.Michael Chan2007-03-252-47/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On most tg3 chips, the memory enable bit in the PCI command register gets cleared during chip reset and must be restored before accessing PCI registers using memory cycles. The chip does not generate interrupt during chip reset, but the irq handler can still be called because of irq sharing or irqpoll. Reading a register in the irq handler can cause a master abort in this scenario and may result in a crash on some architectures. Use the TG3_FLAG_CHIP_RESETTING flag to tell the irq handler to exit without touching any registers. The checking of the flag is in the "slow" path of the irq handler and will not affect normal performance. The msi handler is not shared and therefore does not require checking the flag. Thanks to Bernhard Walle <bwalle@suse.de> for reporting the problem. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [TG3]: Eliminate the unused TG3_FLAG_SPLIT_MODE flag.Michael Chan2007-03-252-20/+1
| | | | | | | | | | | | | | | | This flag to support multiple PCIX split completions was never used because of hardware bugs. This will make room for a new flag. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | [NET]: remove unused header file: drivers/net/wan/lmc/lmc_media.hRobert P. J. Day2007-03-251-65/+0
|/ | | | | | | Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Cc: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [MIPS] SB1250: Fix bugs/warnings by creative use of volatile.Ralf Baechle2007-03-241-1/+1
| | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* [netdrvr] ewrk3: correct card detection bugJeff Garzik2007-03-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arwin Vosselman pointed out: > The ewrk3-driver doesn't function with 2.6.16-kernels (used 2.6.16.41 for > my tests). Cards will never be detected due to this bug. > > drivers/net/ewrks3.c: > Line 417 reads: > > if (nicsr == (CSR_TXD | CSR_RXD)) > > that should be: > > if (nicsr != (CSR_TXD | CSR_RXD)) > > Comparison with the same line in v2.4 shows why: > > 2.4: > if (nicsr == (CSR_TXD | CSR_RXD)){ > > blah, blah > ========== > 2.6: > if (nicsr == (CSR_TXD | CSR_RXD)) > return -ENXIO; > > blah, blah > ========== > > blah,blah will not, but should, be executed in 2.6 with a card being present. > > The fix mentioned above solves this bug. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Merge branch 'upstream-fixes' of ↵Jeff Garzik2007-03-232-8/+10
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into tmp
| * [PATCH] airo: Fix an error path memory leakMichal Schmidt2007-03-161-1/+3
| | | | | | | | | | | | | | The airo driver leaks memory if request_irq() fails. Signed-off-by: Michal Schmidt <mschmidt@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * [PATCH] bcm43xx: MANUALWLAN fixesLarry Finger2007-03-161-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During testing of bcm43xx interference mitigation, two problems were discovered: (1) When the MANUALWLAN mode was set, routines _stack_save and _stack_restore generated assertions that were traced to saving ILT registers with addresses > 0xFFF. This problem was fixed by adding one bit to the field used for the offset, and subtracting one bit from the space used for the id. (2) In MANUALWLAN mode, the IRQ XMIT errors are generated. The cause of these errors has not yet been located. Any suggestions on debugging this problem would be greatly appreciated. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | cxgb3 - fix white spaces in drivers/net/KconfigDivy Le Ray2007-03-231-12/+12
| | | | | | | | | | | | | | Use tabs instead of white spaces for CHELSIO_T3 entry. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | myri10ge: update driver version to 1.3.0-1.226Brice Goglin2007-03-231-1/+1
| | | | | | | | | | | | | | Driver version is now 1.3.0-1.226. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | myri10ge: fix management of >4kB allocated pagesBrice Goglin2007-03-231-0/+8
| | | | | | | | | | | | | | | | Fix management of allocated physical pages when the architecture page size is not 4kB since the firmware cannot cross 4K boundary. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | myri10ge: update wcfifo and intr_coal_delay default valuesBrice Goglin2007-03-231-2/+2
| | | | | | | | | | | | | | | | | | Update the default value of 2 module parameters: * wcfifo disabled * intr_coal_delay 75us Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | myri10ge: Serverworks HT2100 provides aligned PCIe completionBrice Goglin2007-03-231-0/+8
| | | | | | | | | | | | | | | | | | | | [PATCH 1/4] myri10ge: Serverworks HT2100 provides aligned PCIe completion Use the regular firmware on Serverworks HT2100 PCIe ports since this chipset provides aligned PCIe completion. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>