Commit graph

3862 commits

Author SHA1 Message Date
Andrew Morton
864fe05dfa [PATCH] 82596 section fixes
WARNING: drivers/net/82596.o - Section mismatch: reference to .init.text:i82596_probe from .text between 'init_module' (at offset 0x141) and 'i596_add_cmd'

Also nail a couple of crazy inlines.

Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-19 17:40:15 -04:00
Jeff Garzik
49666145de Merge branch 'upstream-fixes' into upstream 2006-08-19 17:25:47 -04:00
Jeff Garzik
41ace1861a Merge branch 'master' into upstream-fixes 2006-08-19 17:25:34 -04:00
Panagiotis Issaris
d4274b51a5 [PPP]: handle kmalloc failures and convert to using kzalloc
The PPP code contains two kmalloc()s followed by memset()s without
handling a possible memory allocation failure.  (Suggested by Joe
Perches).

And furthermore, conversions from kmalloc+memset to kzalloc.

[akpm@osdl.org: fix error-path leak]
[akpm@osdl.org: cleanups]
[paulus@samba.org: don't add useless printk and cardmap_destroy calls]

Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-17 16:29:55 -07:00
Michael Chan
932f3772cf [BNX2]: Convert to netdev_alloc_skb()
Convert dev_alloc_skb() to netdev_alloc_skb() and increase default
rx ring size to 255. The old ring size of 100 was too small.

Update version to 1.4.44.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-17 16:29:52 -07:00
Michael Chan
2f8af120a1 [BNX2]: Fix tx race condition.
Fix a subtle race condition between bnx2_start_xmit() and bnx2_tx_int()
similar to the one in tg3 discovered by Herbert Xu:

CPU0					CPU1
bnx2_start_xmit()
	if (tx_ring_full) {
		tx_lock
					bnx2_tx()
						if (!netif_queue_stopped)
		netif_stop_queue()
		if (!tx_ring_full)
						update_tx_ring
			netif_wake_queue()
		tx_unlock
	}

Even though tx_ring is updated before the if statement in bnx2_tx_int() in
program order, it can be re-ordered by the CPU as shown above.  This
scenario can cause the tx queue to be stopped forever if bnx2_tx_int() has
just freed up the entire tx_ring.  The possibility of this happening
should be very rare though.

The following changes are made, very much identical to the tg3 fix:

1. Add memory barrier to fix the above race condition.

2. Eliminate the private tx_lock altogether and rely solely on
netif_tx_lock.  This eliminates one spinlock in bnx2_start_xmit()
when the ring is full.

3. Because of 2, use netif_tx_lock in bnx2_tx_int() before calling
netif_wake_queue().

4. Add memory barrier to bnx2_tx_avail().

5. Add bp->tx_wake_thresh which is set to half the tx ring size.

6. Check for the full wake queue condition before getting
netif_tx_lock in tg3_tx().  This reduces the number of unnecessary
spinlocks when the tx ring is full in a steady-state condition.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-17 16:29:51 -07:00
Auke Kok
891b11f619 ixgb: Increment version to 1.0.109-k4
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:47:31 -07:00
Jesse Brandeburg
3ae84d9269 ixgb: fix cache miss due to miscalculation
Reduce writeback threshold by 1. We were instructing the hardware to
wait until the 17th descriptor which went over the cache line limit.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke.jan.h.kok@intel.com>
2006-08-16 13:47:25 -07:00
Manasi Deval
0fe198a5e1 ixgb: Add CX4 PHY type detection and subdevice ID.
Signed-off-by: Manasi Deval <manasi.deval@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:47:20 -07:00
Auke Kok
dc335d9735 e1000: Increment driver version to 7.1.9-k6
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:39:09 -07:00
Jeff Kirsher
600c977c08 e1000: Disable aggressive clocking on esb2 with SERDES port
Disable aggressive clocking on esb2 with SERDES port as it causes
hardware problems.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:39:04 -07:00
Jeff Kirsher
7820d4281a e1000: Force full DMA clocking for 10/100 speed
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:39:00 -07:00
Jeff Kirsher
c9c1b834c7 e1000: Allow NVM to setup LPLU for IGP2 and IGP3
Allow NVM to setup LPLU for IGP2 and IGP3. Only IGP needs LPLU D3
disabled during init here.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:38:54 -07:00
Jesse Brandeburg
1a821ca595 e1000: explicit locking for two ethtool path functions
Explicitly lock two more ethtool entry points completely instead
of the hardware reset only to prevent a race condition.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:38:46 -07:00
Jesse Brandeburg
d658266ed6 e1000: Explicitly power up the PHY during loopback testing.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 13:31:33 -07:00
Jeff Kirsher
673a052fde e1000: Remove 0x1000 as supported device
Remove pci ID 8086:1000 from the list fo supported devices. This device
has not functioned with the driver for very long (since v. 5.2.4!)
and we lack the resources to come with a substantial fix. There are only
few cards of this type out there.

Signed-off-by: Jeff Kirsher <Jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 11:28:49 -07:00
Auke Kok
e15fdd0391 e1000: Same cosmetic fix as earlier sent out for IPV4.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 11:28:45 -07:00
Auke Kok
4e1dc97d5e e100: increment version to 3.5.10-k4
Increment the version of e100 to 3.5.10-k4, increment dates.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 11:28:35 -07:00
Jeff Kirsher
60ffa47875 e100: Fix MDIO/MDIO-X
MDIO/MDIO-X was broken due to a wrong errata. Removing the workaround
code fixes for affected NICs.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-16 11:28:14 -07:00
Michael Wu
113b898e38 [PATCH] ray_cs: Remove dependency on ieee80211
This patch removes the dependency on ieee80211.h from
the ray_cs driver. ray_cs only needs iw_handler.h.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:23 -04:00
Ulrich Kunitz
c48cf12514 [PATCH] zd1211rw: cleanups
Add static to 2 internal functions. Thanks goes to Adrian Bunk, who found that.

Also made some modifications to the clear functions:

After a discussion on the mailing list, I implemented this code to
have on the one hand sufficient test in debug mode, but on the
other hand reduce the overhead for structure clearing to a
minimum.

A new macro ZD_MEMCLEAR is introduced, which produces code if
DEBUG is set. Locks are not set anymore for structure clearing,
but in debug mode, there is a verification, that the locks have
not been set.

Finally, removed a misleading comment regarding locking in the disconnect
path.

Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:23 -04:00
Ulrich Kunitz
943599ee2c [PATCH] zd1211rw: USB id 1582:6003 for Longshine 8131G3 added
The Longshine device is a ZD1211B and has a AL2230 RF. I tested it
successfully with no encryption and WEP.

Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:23 -04:00
Daniel Drake
a1030e92c1 [PATCH] zd1211rw: Convert installer CDROM device into WLAN device
Some devices identify themselves as a virtual USB CDROM drive. The virtual CD
includes the windows driver. We aren't interested in this, so we eject the
virtual CDROM and then the real wireless device appears.

Patch fixed over the earlier version to not leak cmd, thanks to Michael Buesch
for spotting that.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:23 -04:00
Daniel Drake
4ceb7e9936 [PATCH] zd1211rw: Add ID for ZyXEL G220F
zd1211 chip 0586:3402 v4916 high 00-13-49 AL2230_RF pa0 ----

This device pops up after the virtual driver CD has been ejected.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:22 -04:00
Daniel Drake
d066c2190d [PATCH] zd1211rw: Firmware version vs bootcode version mismatch handling
This is needed for my G220F, otherwise it fails to initialize after the
existing firmware upload routine.

The vendor driver actually does more than what I have done here: it
downloads the firmware + boot code, modifies it, and uploads it again
(really messy). I have not copied that part over, as my device can get
on its feet without it.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:22 -04:00
Daniel Drake
12f3930897 [PATCH] zd1211rw: Add ID for Allnet ALLSPOT Hotspot finder
Tested by Wonka on IRC.

zd1211 chip 157e:3204 v4810 high 00-11-e0 AL7230B_RF pa0 g---

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:22 -04:00
Daniel Drake
1b865491fc [PATCH] zd1211rw: Add ID for Senao NUB-8301
Tested by lyakh on IRC

zd1211 chip 1740:2000 v4721 high 00-02-6f AL7230B_RF pa0 g---

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:22 -04:00
Daniel Drake
ec62bd91bb [PATCH] zd1211rw: Support AL7230B RF
This patch adds support for another Airoha RF which is present in some
ZD1211 adapters. This RF supports 802.11a as well as 802.11b/g, but 802.11a
connectivity is not yet supported by this driver.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:21 -04:00
Daniel Drake
20fe2176e5 [PATCH] zd1211rw: AL2230 ZD1211B vendor sync
This patch synchronizes our code to some recent vendor driver modifications.
A new PHY layout is supported, some values are tweaked, and the AL2230 is now
programmed over a new interface which is many times faster.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:21 -04:00
Daniel Drake
98227a90a7 [PATCH] zd1211rw: Match vendor driver IFS values
The vendor driver resets the IFS value every time the channel changes,
to this one.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:21 -04:00
Daniel Drake
fe7215caa0 [PATCH] zd1211rw: ZD1211B ASIC/FWT, not jointly decoder
The vendor driver chooses this value based on an ifndef ASIC,
and ASIC is never defined.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-14 15:43:21 -04:00
John W. Linville
e9ffb3d7ec Merge branch 'from-linus' into upstream 2006-08-14 15:33:54 -04:00
Dave Jones
bcd6837387 [PATCH] remove unnecessary config.h includes from drivers/net/
config.h is automatically included by kbuild these days.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-14 14:00:43 -04:00
Jeff Garzik
0c913bdf3e Merge branch 'upstream-fixes' into upstream 2006-08-14 13:59:38 -04:00
Daniele Venzano
80a8003f92 [PATCH] Add new PHY to sis900 supported list
Please include the attached patch that adds support for a new PHY to the
sis900 driver. See also Bugzilla 6919.

Signed-off-by: Daniele Venzano <venza@brownhat.org>

--
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-14 13:59:31 -04:00
Lennert Buytenhek
09e590e5d5 [PATCH] smc91x: disable DMA mode on the logicpd pxa270
Enabling PXA DMA for the smc91x on the logicpd pxa270 produces
unacceptable interference with the TFT panel, so disable it.  Also
delete the lpd270 versions of the SMC_{in,out}[bl]() macros, as they
aren't used, since the board only supports 16bit accesses.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-14 13:58:58 -04:00
Jeff Garzik
f5c7db1c91 Merge branch 'upstream-fixes' into upstream 2006-08-10 08:31:03 -04:00
Stephen Hemminger
8d3d35b4e2 [PATCH] sky2: phy power problems on 88e805X chips
On the 88E805X chipsets (used in laptops), the PHY was not getting powered
out of shutdown properly. The variable reg1 was getting reused incorrectly.
This is probably the cause of the bug.
	http://bugzilla.kernel.org/show_bug.cgi?id=6471

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-10 08:30:48 -04:00
Greg Kroah-Hartman
a465714109 Merge gregkh@master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-08-09 11:49:13 -07:00
Brice Goglin
013b68bf7c [PATCH] myri10ge: always re-enable dummy rdmas in myri10ge_resume
Dummy RDMA are always enabled on device startup since commit
9a71db721a (to work around buggy
PCIe chipsets which do not implement resending properly). But,
we also need to always re-enable them when resuming the device.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-09 00:12:47 -04:00
Philippe De Muyter
e714d99cac [PATCH] sundance: small cleanup
This patch uses the sundance_reset function everywhere a reset is done,
and adds a link to the archives of the original mailing list.

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-09 00:02:46 -04:00
Stephen Hemminger
e27cdba53b [PATCH] forcdeth: revised NAPI support
Revised version of the forcedeth NAPI support.
This version is based against netdev-2.6#upstream
(after the MAC patches from Ayaz today).

Can't use nv_disable_hw_interrupts because NAPI only wants to
mask off receive irq's and leave the others alone.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-08 23:47:59 -04:00
Ayaz Abdulla
5070d34084 [PATCH] forcedeth: mac address corrected
This patch will correct the mac address and set a flag to indicate that
it is already corrected in case nv_probe is called again. For example,
when you use kexec to restart the kernel.

Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-08 23:47:30 -04:00
Ayaz Abdulla
f1489653e9 [PATCH] forcedeth: move mac address setup/teardown
This patch moves the mac address setup/teardown to the
nv_probe/nv_remove functions. This fixes WOL wakeup since on nv_close we
would reverse the mac address. Also, bonding driver will reset address
after nv_close is called.

Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-08 23:47:30 -04:00
Komuro
fcf194d19b [PATCH] network: pcnet_cs.c: remove unnecessary 'mdio_reset'
'mdio_reset' has bad side effects that moves the phy_id.
DL10022-based cards work properly without 'mdio_reset'.

 Signed-off-by: komurojun-mbn@nifty.com

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-08 23:38:29 -04:00
Paul Mackerras
32bc6e095d Merge branch 'merge' 2006-08-08 17:09:11 +10:00
Michael Chan
1b2a720506 [TG3]: Fix tx race condition
Fix a subtle race condition between tg3_start_xmit() and tg3_tx()
discovered by Herbert Xu <herbert@gondor.apana.org.au>:

CPU0					CPU1
tg3_start_xmit()
	if (tx_ring_full) {
		tx_lock
					tg3_tx()
						if (!netif_queue_stopped)
		netif_stop_queue()
		if (!tx_ring_full)
						update_tx_ring 
			netif_wake_queue()
		tx_unlock
	}

Even though tx_ring is updated before the if statement in tg3_tx() in
program order, it can be re-ordered by the CPU as shown above.  This
scenario can cause the tx queue to be stopped forever if tg3_tx() has
just freed up the entire tx_ring.  The possibility of this happening
should be very rare though.

The following changes are made:

1. Add memory barrier to fix the above race condition.

2. Eliminate the private tx_lock altogether and rely solely on
netif_tx_lock.  This eliminates one spinlock in tg3_start_xmit()
when the ring is full.

3. Because of 2, use netif_tx_lock in tg3_tx() before calling
netif_wake_queue().

4. Change TX_BUFFS_AVAIL to an inline function with a memory barrier.
Herbert and David suggested using the memory barrier instead of
volatile.

5. Check for the full wake queue condition before getting
netif_tx_lock in tg3_tx().  This reduces the number of unnecessary
spinlocks when the tx ring is full in a steady-state condition.

6. Update version to 3.65.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-07 21:46:02 -07:00
Christoph Hellwig
d14cc9a342 [TG3]: skb->dev assignment is done by netdev_alloc_skb
All caller of netdev_alloc_skb need to assign skb->dev shortly
afterwards.  Move it into common code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-07 16:11:48 -07:00
John W. Linville
71bfe47f02 Merge branch 'from-linus' into upstream 2006-08-04 14:24:15 -04:00
Stephen Hemminger
fe2a24dfc5 [PATCH] sky2: status interrupt handling improvement
More changes to prevent losing status and causing hangs.
The hardware is smarter than I gave it credit for.
Clearing the status IRQ causes the status state machine to
toggle an IRQ if needed and post any more transmits.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-03 17:36:39 -04:00