Commit Graph

1680 Commits

Author SHA1 Message Date
Jon Mason
9ee09d9cd4 [PATCH] dl2k: DMA freeing error
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 13:26:51 -05:00
David S. Miller
9e927fb618 [PATCH] Wrong return value corrupts free object in e1000 driver
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-11 13:25:17 -05:00
Stephen Hemminger
70f1be4812 sky2: truncate oversize packets
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-09 23:19:03 +01:00
Stephen Hemminger
b19666d920 sky2: force early transmit interrupts
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-09 23:19:02 +01:00
Stephen Hemminger
28a3186019 sky2: not random enough
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-09 23:19:01 +01:00
Francois Romieu
39bf4295bb de2104x: fix the TX watchdog
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-09 23:09:43 +01:00
Francois Romieu
3f735b76a4 de2104x: prevent interrupt before the interrupt handler is registered
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-09 23:09:43 +01:00
Michael Chan
72f2afb8a6 [TG3]: Add DMA address workaround
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 19:28:35 -08:00
Eric Sesterhenn
2d66806d74 [PATCH] chelsio: fix kmalloc failure in t1_espi_create
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-06 14:38:00 -05:00
Jeff Garzik
a7a80d5ad3 s2io: set_multicast_list bug
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-04 12:06:51 -05:00
Linus Torvalds
e0a5c57848 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-03-01 15:10:45 -08:00
Jesse Allen
2fe22a8bba [PATCH] pcmcia: add id for AMB8110 PC Card
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 11:15:45 +01:00
Pavel Roskin
40e3cad611 [PATCH] pcmcia: avoid binding hostap_cs to Orinoco cards
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-01 11:12:00 +01:00
Jeff Garzik
b5b9d6647c Merge branch 'e1000' of ssh://198.78.49.142/srv/git/intel/linux-2.6 2006-03-01 01:53:32 -05:00
Jeff Kirsher
a1415ee655 [PATCH] e1000: revert to single descriptor for legacy receive path
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 20:24:07 -08:00
Stephen Hemminger
958ddb75b0 [PATCH] sky2: remove MSI support
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-28 18:06:25 -05:00
Jeff Garzik
816fd40471 Merge branch 'for-jeff' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 2006-02-28 18:03:45 -05:00
Francois Romieu
576cfa934e 8139cp: fix broken suspend/resume
- 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-27 23:15:06 +01:00
Francois Romieu
b3c3e7d7d9 via-velocity: fix memory corruption when changing the mtu
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 23:11:08 +01:00
David S. Miller
051d3cbd96 [TG3]: Fix Sun tg3 variant detection.
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-27 12:51:27 -08:00
Daniele Venzano
7bef4b3978 Fix Wake on LAN support in sis900
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-25 17:01:09 -05:00
Linus Torvalds
f52ee1410d Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-02-23 22:21:29 -08:00
Adrian Bunk
ad9f6713ae [PATCH] drivers/net/tlan.c: #ifdef CONFIG_PCI the PCI specific code
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-24 00:20:08 -05:00
Richard Lucassen
35eaa31e5d [NET]: Increase default IFB device count.
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-23 16:23:51 -08:00
Stephen Hemminger
80dd857dac skge: protect interrupt mask
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-23 23:07:08 +01:00
Stephen Hemminger
0781191cf6 skge: genesis phy initialzation
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-23 23:07:07 +01:00
Stephen Hemminger
a9cdab869e skge: NAPI/irq race fix
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-23 23:07:07 +01:00
Francois Romieu
61a4dcc2f9 r8169: enable wake on lan
Similar to 8139cp code but more inspired/lucky.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-23 23:06:48 +01:00
Francois Romieu
5d06a99f54 r8169: fix broken ring index handling in suspend/resume
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 23:06:07 +01:00
Stephen Hemminger
791917deb6 [PATCH] sky2: close race on IRQ mask update.
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 01:25:26 +01:00
Stephen Hemminger
56a645cc1b [PATCH] sky2: use device iomem to access PCI config
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 01:25:23 +01:00
Stephen Hemminger
9a6d343188 [PATCH] sky2: force early transmit status
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 01:25:03 +01:00
Stephen Hemminger
a8fd6266da [PATCH] sky2: poke coalescing timer to fix hang
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 01:24:04 +01:00
Stephen Hemminger
ff81fbbe32 [PATCH] sky2: limit coalescing values to ring size
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 01:23:40 +01:00
Stephen Hemminger
977bdf06ca [PATCH] sky2: yukon-ec-u chipset initialization
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-23 01:23:36 +01:00
Linus Torvalds
f24211e7b3 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-02-20 20:03:01 -08:00
Zhu Yi
1dd31b6c89 [PATCH] ipw2200: Suppress warning message
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-20 20:00:11 -08:00
Jean Tourrilhes
669d32a293 [IRDA]: irda-usb bug fixes
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-19 22:28:25 -08:00
Jay Vosburgh
f5e2a7b22e [PATCH] bonding: fix a locking bug in bond_release
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 16:16:39 -05:00
Andrew Morton
ca5b0ec8ae [PATCH] smctr warning fix
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 16:16:21 -05:00
Stephen Hemminger
6f4c56b2ae [PATCH] sky2: speed setting fix
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>
2006-02-17 16:16:21 -05:00
Stephen Hemminger
564f9abb34 [PATCH] skge: speed setting
This is a clone of John Linville's fixed for speed setting on sky2 driver.
The skge driver has the same code (and bug). It would not allow manually forcing
100 and 10 mbit.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-17 16:15:47 -05:00
Stephen Hemminger
7a160c735a [PATCH] skge: no longer experimental
Take the experimental dependency of skge driver, it is as stable as the
others.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-17 16:15:46 -05:00
Stephen Hemminger
56c8f7e290 [PATCH] sk98lin: no d-link support (kconfig)
The sk98lin driver was changed a while ago to remove support for the
D-Link 530T card because that hardware has no working VPD data.  The help
text for Kconfig was not updated.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-17 16:15:46 -05:00
Jean Tourrilhes
aca0b510cd [PATCH] Wavelan_cs bitfield fixes
Some bitfields were incorrectly initialised in wavelan_cs,
causing some compiler warning. Also killed a error message that should
not be there...

Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-17 16:15:46 -05:00
Jeff Garzik
e7f52e4c43 Merge branch 'for-jeff' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 2006-02-17 16:11:47 -05:00
Dan Williams
7345137930 [PATCH] wireless/atmel: fix Open System authentication process bugs
This patch fixes a number of bugs in the authentication process:

1) When falling back to Shared Key authentication mode from Open System,
a missing 'return' would cause the auth request to be sent, but would
drop the card into Management Error state.  When falling back, the
driver should also indicate that it is switching to Shared Key mode by
setting exclude_unencrypted.

2) Initial authentication modes were apparently wrong in some cases,
causing the driver to attempt Shared Key authentication mode when in
fact the access point didn't support that mode or even had WEP disabled.
The driver should set the correct initial authentication mode based on
wep_is_on and exclude_unencrypted.

3) Authentication response packets from the access point in Open System
mode were getting ignored because the driver was expecting the sequence
number of a Shared Key mode response.  The patch separates the OS and SK
mode handling to provide the correct behavior.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-17 08:12:57 -05:00
Dan Williams
0d467502b7 [PATCH] wireless/atmel: fix setting TX key only in ENCODEEXT
The previous patch that added ENCODEEXT and AUTH support to the atmel
driver contained a slight error which would cause just setting the TX
key index to also set the encryption key again.  This patch allows any
combination of setting the TX key index and setting an encryption key.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-02-17 08:12:57 -05:00
Francois Romieu
10487fbd74 sis190: early setting of the pci driver private data
Below this point, the error path will proceed through
sis190_release_board(). It will happily oops if
pci_set_drvdata() has not been issued.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-16 22:17:00 +01:00
Andrew Morton
72fb630dad [APPLETALK]: warning fix
drivers/net/appletalk/cops.c: In function `cops_load':
drivers/net/appletalk/cops.c:539: warning: assignment discards qualifiers from pointer target type
drivers/net/appletalk/cops.c:547: warning: assignment discards qualifiers from pointer target type

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-13 15:53:41 -08:00