aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)Author
2006-03-19[TG3]: 40-bit DMA workaround part 2Michael Chan
The 40-bit DMA workaround recently implemented for 5714, 5715, and 5780 needs to be expanded because there may be other tg3 devices behind the EPB Express to PCIX bridge in the 5780 class device. For example, some 4-port card or mother board designs have 5704 behind the 5714. All devices behind the EPB require the 40-bit DMA workaround. Thanks to Chris Elmquist again for reporting the problem and testing the patch. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-16[netdrvr] fix array overflows in Chelsio driverScott Bardone
Adrian Bunk wrote: > The Coverity checker spotted the following two array overflows in > drivers/net/chelsio/sge.c (in both cases, the arrays contain 3 > elements): [snip] This is a bug. The array should contain 2 elements. Here is the fix. Signed-off-by: Scott Bardone <sbardone@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-16[PATCH] e1000 endianness bugsDavid S. Miller
return -E_NO_BIG_ENDIAN_TESTING; [E1000]: Fix 4 missed endianness conversions on RX descriptor fields. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-15e100: fix eeh on pseries during ethtool -tJesse Brandeburg
Olaf Hering reported a problem on pseries with e100 where ethtool -t would cause a bus error, and the e100 driver would stop working. Due to the new load ucode command the cb list must be allocated before calling e100_init_hw, so remove the call and just let e100_up take care of it. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
2006-03-11[TG3] tg3_bus_string(): remove dead codeAdrian Bunk
The Coverity checker spotted this dead code (note that (clock_ctrl == 7) is already handled above). Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-11[TUN]: Fix leak in tun_get_user()Dave Jones
We're leaking an skb in a failure path in this function. Coverity #632 Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-11[PATCH] 3c509: bus registration fixAndrew Morton
- Don't call eisa_driver_unregister() if eisa_driver_register() failed. - Properly propagate error values. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] de620: fix section mismatch warningSam Ravnborg
In latest -mm de620 gave following warning: WARNING: drivers/net/de620.o - Section mismatch: reference to \ .init.text:de620_probe from .text between 'init_module' (at offset \ 0x1682) and 'cleanup_module' init_module() call de620_probe() which is declared __init. Fix is to declare init_module() __init too. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] NE2000 Kconfig help entry improvementJesper Juhl
Improve reference to PCI NE2K support in ISA NE2K documentation. Original 2.4 patch From: Ged Haywood <ged@jubileegroup.co.uk> Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] dl2k: DMA freeing errorJon Mason
This patch fixes an error in the dl2k driver's DMA mapping/unmapping. The adapter uses the upper 16bits of the DMA address for the buffer size. However, this is not masked off when referencing the DMA address, and can lead to errors by trying to free a DMA address out of range. Thanks, Jon Signed-off-by: Jon Mason <jdmason@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] Wrong return value corrupts free object in e1000 driverDavid S. Miller
For some reason, E1000's ->hard_start_xmit() routine returns -EFAULT instead of one of the NETDEV_TX_* error codes. In fact, it frees up the SKB before returning this. This makes the queueing layer think the packet should be requeued and subsequently we corrupt a freed object. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-09sky2: truncate oversize packetsStephen Hemminger
Turn on truncation to prevent getting choked by frames larger than expected. Without this fix, driver hangs after receiving an oversize packet. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-03-09sky2: force early transmit interruptsStephen Hemminger
Avoid premature transmit ring full conditions. Force a transmit status interrupt if transmit ring gets nearly full and after a TSO send. Allow more entries in transmit ring to be used if dma_addr is 32 bits Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-03-09sky2: not random enoughStephen Hemminger
Don't use sky2 to seed random pool beacause the network packet arrival time will not be truly random due to NAPI and interrupt mitigation. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-03-09de2104x: fix the TX watchdogFrancois Romieu
Insert de_init_rings() to reinit the rings before de_init_hw() tries to access them again. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-03-09de2104x: prevent interrupt before the interrupt handler is registeredFrancois Romieu
de_init_hw enables the irq thus it must be issued after request_irq. Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-03-06[TG3]: Add DMA address workaroundMichael Chan
Add DMA workaround for chips that do not support full 64-bit DMA addresses. 5714, 5715, and 5780 chips only support DMA addresses less than 40 bits. On 64-bit systems with IOMMU, set the dma_mask to 40-bit so that pci_map_xxx() calls will map the DMA address below 40 bits if necessary. On 64-bit systems without IOMMU, set the dma_mask to 64-bit and check for DMA addresses exceeding the limit in tg3_start_xmit(). 5788 only supports 32-bit DMA so need to set the mask appropriately also. Thanks to Chris Elmquist at SGI for reporting and helping to debug the problem on 5714. Thanks to David Miller for explaining the HIGHMEM and DMA stuff. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-06[PATCH] chelsio: fix kmalloc failure in t1_espi_createEric Sesterhenn
memset() is called before check. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-04s2io: set_multicast_list bugJeff Garzik
The mac_addr variable doesn't get reset between (re)additions of multicast addresses. One byte of all multicast addresses (except the first) can be incorrect. Signed-off-by: Arthur Kepner <akepner@sgi.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-01Merge branch 'upstream-fixes' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
2006-03-01[PATCH] pcmcia: add id for AMB8110 PC CardJesse Allen
The axnet_cs driver can support the AMB8110 PC Card, so add the id for it. In the old pcmcia-cs config file, this card is listed with the comment "not specific enough". The last entry in the axnet_ids has the same comment. They are disabled, and for good reason as it was originally identified by the MANFID, and that is shared with several cards that use both the pcnet_cs driver and axnet_cs driver. I tried my AMB8110 with pcnet_cs, and found that it works fine, and I cannot find a reason for either, except that the old config file recommended axnet_cs. Signed-off-by: Jesse Allen <the3dfxdude@gmail.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-01[PATCH] pcmcia: avoid binding hostap_cs to Orinoco cardsPavel Roskin
Don't just use cards with PCMCIA ID 0x0156, 0x0002. Make sure that the vendor string is "Intersil" or "INTERSIL" Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-01Merge branch 'e1000' of ssh://198.78.49.142/srv/git/intel/linux-2.6Jeff Garzik
2006-02-28[PATCH] e1000: revert to single descriptor for legacy receive pathJeff Kirsher
A recent patch attempted to enable more efficient memory usage by using only 2kB descriptors for jumbo frames. The method used to implement this has since been commented upon as "illegal" and in recent kernels even causes a BUG when receiving ip fragments while using jumbo frames. This patch simply goes back to the way things were. We expect some complaints due to order 3 allocations failing to come back due to this change. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
2006-02-28[PATCH] sky2: remove MSI supportStephen Hemminger
Remove Message Signaled Interrupt support (for 2.6.16). MSI is inherently edge-triggered and that is incompatiable (without more work) with NAPI. In future, will replace with smarter lockless-IRQ handling like tg3.c Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-02-28Merge branch 'for-jeff' of ↵Jeff Garzik
git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6
2006-02-278139cp: fix broken suspend/resumeFrancois Romieu
- check that the device is up before it is enabled again; - the descriptor ring indexes must be set to zero before cp_init_hw() is issued. Add a nice comment to remember that skb allocation failure is still not handled. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=5681 Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-27via-velocity: fix memory corruption when changing the mtuFrancois Romieu
velocity_rx_refill() only replenishes the descriptor entries which belong to the CPU. It works great in the Rx path but the driver must ensure that all the descriptors are freed before velocity_rx_refill() is used in velocity_change_mtu(). The patch resets the Rx descriptors in velocity_free_rd_ring(). Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-27[TG3]: Fix Sun tg3 variant detection.David S. Miller
Some Sun parts don't have PCI_VENDOR_ID_SUN in the subsystem vendor ID. So add another fallback test, which is the name of the OBP firmware device tree node. If it's a Sun part we'll get "network", else it will be named "ethernet". Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-25Fix Wake on LAN support in sis900Daniele Venzano
Fix two bugs in the WoL implementation of sis900. The first causes hangs on some system on driver load, the second causes troubles when disabling WoL support. Both fixes are one liner and really simple. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Daniele Venzano <venza@brownhat.org>
2006-02-23Merge branch 'upstream-fixes' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
2006-02-24[PATCH] drivers/net/tlan.c: #ifdef CONFIG_PCI the PCI specific codeAdrian Bunk
drivers/net/tlan.c compiles with CONFIG_PCI=n only with a warning and due to the dead code elimination of gcc. Additionally, this fixes the only compile error I found with CONFIG_PCI=n and the gcc -Werror-implicit-function-declaration flag on i386. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-02-23[NET]: Increase default IFB device count.Richard Lucassen
The most usable number of ifb devices is 2. Change the default to 2. Signed-off-by: Richard Lucassen <spamtrap@lucassen.org> Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-23skge: protect interrupt maskStephen Hemminger
There is a race between updating the irq mask and setting it which can be triggered on SMP with a bad cable. Similar patch from Ingo Molnar and Thomas Gleixner Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23skge: genesis phy initialzationStephen Hemminger
The SysKonnect Genesis based board would fail on initialization with phy_read errors caused by not waiting for last phy write. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23skge: NAPI/irq race fixStephen Hemminger
Fix a race in the receive NAPI, irq handling. The interrupt clear and the start need to be separated. Otherwise there is a window between the last frame received and the NAPI done level handling. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23r8169: enable wake on lanFrancois Romieu
Similar to 8139cp code but more inspired/lucky. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-23r8169: fix broken ring index handling in suspend/resumeFrancois Romieu
rtl8169_hw_start() requires that the descriptor ring indexes be set to zero. Let a deferred invocation of rtl8169_reset_task() handle it. Enabling a few power management bits will not hurt either. suspend/resume is issued with irq on: the spinlock do not need to save the irq flag. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-23[PATCH] sky2: close race on IRQ mask update.Stephen Hemminger
Need to avoid race in updating IRQ mask. This can probably be replaced smarter use of the interrupt control registers (if/when chipset docs are available). Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: use device iomem to access PCI configStephen Hemminger
To avoid problems with PCI config access without ACPI (or busted ACPI tables), use the device's window into PCI config space. I know this probably will upset the purists, but I would rather have users than ACPI testers. It also generates less code. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: force early transmit statusStephen Hemminger
Need to force a transmit coalesce timer restart after processing transmit packets. Otherwise, can get transmit status after last update and chip doesn't send the next one. Can go with the chip defaults for coalescing timers, except for Tx timer which needs to be bigger. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: poke coalescing timer to fix hangStephen Hemminger
Need to restart the interrupt coalescing timer after clearing the interrupt, to avoid races with interrupt timer and processing. Patch from Carl-Daniel Halfinger Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: limit coalescing values to ring sizeStephen Hemminger
Don't allow coalescing values to be bigger than the transmit ring. Since if you set them that big, the interrupt never happens and driver livelocks. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: yukon-ec-u chipset initializationStephen Hemminger
Add more complete setup code for Yukon EC_U chipset. Based on matching code in 8.31 code in SysKonnect vendor driver. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-20Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds
2006-02-20[PATCH] ipw2200: Suppress warning messageZhu Yi
The following message will be only printed if DEBUG_NOTIF is on. "Unknown notification: subtype=40,flags=0xa0,size=40" Signed-off-by: Zhu Yi <yi.zhu@intel.com> Cc: James Ketrenos <jketreno@linux.intel.com> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: "John W. Linville" <linville@tuxdriver.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-19[IRDA]: irda-usb bug fixesJean Tourrilhes
This patch fixes 2 bugs in the USB-IrDA code. The first one is a buffer overrun in the RX path. We are now using IRDA_SKB_MAX_MTU when initializing the Rx URB. The second one is a potential stack recursion when unplugging the USB dongle. It seems that first we get the Rx URB with a generic error code, and after a while the Rx URB comes again with a "disconnect" error code. Since we are resubmitting the Rx URB immediately after receiving the first error one, we might enter an endless loop. When getting an error Rx URB, the patch defers the Rx URB resubmitting so that it gives us a chance to catch the disconnect one, in case the dongle has juts been unplugged. Tested against 2.6.16-rc2. Patch from Jean Tourrilhes Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-17[PATCH] bonding: fix a locking bug in bond_releaseJay Vosburgh
bond_release returns EINVAL without releasing the bond lock if the slave device is not being bonded by the bond. The following patch ensures that the lock is released in this case. Signed-off-by: Stephen J. Bevan <stephen@dino.dnsalias.com> Acked-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-17[PATCH] smctr warning fixAndrew Morton
drivers/net/tokenring/smctr.c: In function `smctr_load_firmware': drivers/net/tokenring/smctr.c:2981: warning: assignment discards qualifiers from pointer target type Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-17[PATCH] sky2: speed setting fixStephen Hemminger
Users report problems w/ auto-negotiation disabled and the link set to 100/Half or 10/Half. Problems range from poor performance to no link at all. The current sky2 code does not set things properly on link up if autonegotiation is disabled. Plus it does not contemplate a 10Mbit setting at all. This patch corrects that. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>