Commit graph

1821 commits

Author SHA1 Message Date
Zhu Yi
f73cb83f1a [PATCH] ipw2200: Fix "iwspy ethx off" causes kernel panic
Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Zhu Yi
b6e4da7234 [PATCH] ipw2100: Fix setting txpower failed problem
The ipw2100 driver misunderstood the parameter of txpower.
Tx Power off means turn off the radio, but the driver interpret it as
"can't set txpower". So when getting the txpower, it sets disabled=1 to
the iwconifg tool in managed mode. And the tool will display "Tx Power off"
when disabled=1.

Now, in managed mode, iwconfig will not show "TX Power" if the radio is not
switched off. It will only display "Tx Power off" only if the radio is killed.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Zhu Yi
3c5eca542d [PATCH] ipw2100: Fix a gcc compile warning
drivers/net/wireless/ipw2100.c:2236: warning: `ipw2100_match_buf' defined
but not used

Cc: Yi Zhu <yi.zhu@intel.com>
Cc: James Ketrenos <jketreno@linux.intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-30 17:41:35 -05:00
Al Viro
450d86dff3 [PATCH] dead code removed in hp100
for mode 2 (memory-mapped) we always set ->mem_ptr_virt; dead code removed.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:35 -05:00
Al Viro
0018dfa48e [PATCH] wrong ifdefs in 82596.c
ifdefs around variable declaration would better match those around its uses...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:31 -05:00
Al Viro
3c13958620 [PATCH] bogus include of linux/irq.h in 7990.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:28 -05:00
Al Viro
82729971e0 [PATCH] missing include of asm/irq.h in drivers/net
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:25 -05:00
Al Viro
ded5ca1f3b [PATCH] macsonic.c: missed s/driver_unregister/platform_driver_unregister/
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:22 -05:00
Al Viro
976345cc0f [PATCH] appletalk/cops.h: missing const in struct ltfirmware
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:19 -05:00
Al Viro
b43de2d8db [PATCH] ibm_emac sparse annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:15 -05:00
Al Viro
d0f6ecad39 [PATCH] arcnet probing cleanups and fixes
make arcnet probing do request_mem_region() for all iomem it's going to
access, clean the code up.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-01-28 21:42:11 -05:00
Francois Romieu
2371408c02 r8169: prevent excessive busy-waiting
The MII registers read/write function blindly busy waits for an
amount of 1000 us (1 ms), then up to 200 ms. These functions are
called from irq disabled context. Depending on the clock management,
it triggers lost ticks events. Since the value is way above the
standard delay required for mii register access, it strangely looks
like a bandaid against posted writes.

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=5947

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-01-29 00:49:09 +01:00
Jeff Garzik
0cc349d130 Merge branch 'upstream-fixes' 2006-01-28 16:06:45 -05:00
Jeff Garzik
b0b020d478 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2006-01-28 16:06:30 -05:00
Valdis.Kletnieks@vt.edu
4f95af5bb5 [PATCH] orinoco_cs: tweak Vcc debugging messages
The current orinoco_cs.c can issue the exact same error message for
2 different tests that can fail.  Alter them so we can tell which
one of the two failed.

Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-01-27 16:49:58 -05:00
Dale Farnsworth
01999873a4 [PATCH] mv643xx_eth: Clean up platform_data configuration
We shouldn't expose the hardware register contents in platform_data.
The only things we allow the user to configure are autoneg, speed, and
duplex.  Add specific platform_data fields for these values and remove
the registers configs.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
James Chapman
d0412d9670 [PATCH] mv643xx_eth: use MII library for ethtool functions
Use the common ethtool support functions of the MII library.
Add generic MII ioctl handler.
Add PHY parameter speed/duplex/negotiation initialization and modification.

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
James Chapman
c28a4f8947 [PATCH] mv643xx_eth: use MII library for PHY management
Modify link up/down handling to use the functions from the MII
library.  Note that I track link state using the MII PHY registers
rather than the mv643xx chip's link state registers because I think
it's cleaner to use the MII library code rather than writing local
driver support code. It is also useful to make the actual MII
registers available to the user with maskable kernel printk messages
so the MII registers are being read anyway

Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
Dale Farnsworth
9f8dd31945 [PATCH] mv643xx_eth: Make port queue enable/disable code consistent
Add and use the following functions:
	mv643xx_eth_port_enable_tx()
	mv643xx_eth_port_enable_rx()
	mv643xx_eth_port_disable_tx()
	mv643xx_eth_port_disable_rx()

so that ports are enabled/disabled consistently.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
Dale Farnsworth
f98e36f1f7 [PATCH] mv643xx_eth: Rename mp->tx_ring_skbs to mp->tx_desc_count
tx_ring_skbs is actually a count of tx descriptors currently in use.
Since there may be multiple descriptors per skb, it is not the
same as the number of skbs in the ring.

Also change rx_ring_skbs to rx_desc_count to be consistent.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
Dale Farnsworth
cf4086c772 [PATCH] mv643xx_eth: Merge unicast and multicast address filtering code
Remove duplicated code by having unicast and multicast code use
a common filter table function: eth_port_set_filter_table_entry().

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
Dale Farnsworth
ed9b5d4576 [PATCH] mv643xx_eth: Remove needless mp->port_mac_addr
mp->port_mac_addr is just a redundant copy of dev->dev_addr, so remove it.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:11:16 -05:00
Jeff Garzik
cfc88b0729 Merge branch 'upstream-fixes' 2006-01-27 11:09:39 -05:00
Dale Farnsworth
b4de9051a9 [PATCH] mv643xx_eth: Whitespace cleanup
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:09:24 -05:00
Paolo Galtieri
12ad74f88f [PATCH] mv643xx_eth: Update dev->last_rx on packet receive
Update dev->last_rx on packet receive

This fix corrects errors seen during configuration of the bonding driver.

Signed-off-by: Paolo Galtieri <pgaltieri@mvista.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:09:24 -05:00
Dale Farnsworth
c7cd9014e6 [PATCH] mv643xx_eth: Fix spinlock recursion bug
This patch eliminates a spinlock recursion bug introduced recently.
Since eth_port_send() is always called with the lock held, we simply
remove the locking inside the function itself.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 11:09:24 -05:00
Ravinandan Arakali
7d3d0439f5 [PATCH] S2io: Large Receive Offload (LRO) feature(v2) for Neterion (s2io) 10GbE Xframe PCI-X and PCI-E NICs
Hi,
Below is a patch for the Large Receive Offload feature.
Please review and let us know your comments.

LRO algorithm was described in an OLS 2005 presentation, located at
ftp.s2io.com
user: linuxdocs
password: HALdocs

The same ftp site has Programming Manual for Xframe-I ASIC.
LRO feature is supported on Neterion Xframe-I, Xframe-II and
Xframe-Express 10GbE NICs.

Brief description:
The Large Receive Offload(LRO) feature is a stateless offload
that is complementary to TSO feature but on the receive path.
The idea is to combine and collapse(upto 64K maximum) in the
driver, in-sequence TCP packets belonging to the same session.
It is mainly designed to improve 1500 mtu receive performance,
since Jumbo frame performance is already close to 10GbE line
rate. Some performance numbers are attached below.

Implementation details:
1. Handle packet chains from multiple sessions(current default
MAX_LRO_SESSSIONS=32).
2. Examine each packet for eligiblity to aggregate. A packet is
considered eligible if it meets all the below criteria.
  a. It is a TCP/IP packet and L2 type is not LLC or SNAP.
  b. The packet has no checksum errors(L3 and L4).
  c. There are no IP options. The only TCP option supported is timestamps.
  d. Search and locate the LRO object corresponding to this
     socket and ensure packet is in TCP sequence.
  e. It's not a special packet(SYN, FIN, RST, URG, PSH etc. flags are not set).
  f. TCP payload is non-zero(It's not a pure ACK).
  g. It's not an IP-fragmented packet.
3. If a packet is found eligible, the LRO object is updated with
   information such as next sequence number expected, current length
   of aggregated packet and so on. If not eligible or max packets
   reached, update IP and TCP headers of first packet in the chain
   and pass it up to stack.
4. The frag_list in skb structure is used to chain packets into one
   large packet.

Kernel changes required: None

Performance results:
Main focus of the initial testing was on 1500 mtu receiver, since this
is a bottleneck not covered by the existing stateless offloads.

There are couple disclaimers about the performance results below:
1. Your mileage will vary!!!! We initially concentrated on couple pci-x
2.0 platforms that are powerful enough to push 10 GbE NIC and do not
have bottlenecks other than cpu%;  testing on other platforms is still
in progress. On some lower end systems we are seeing lower gains.

2. Current LRO implementation is still (for the most part) software based,
and therefore performance potential of the feature is far from being realized.
Full hw implementation of LRO is expected in the next version of Xframe ASIC.

Performance delta(with MTU=1500) going from LRO disabled to enabled:
IBM 2-way Xeon (x366) : 3.5 to 7.1 Gbps
2-way Opteron : 4.5 to 6.1 Gbps

Signed-off-by: Ravinandan Arakali <ravinandan.arakali@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 10:34:38 -05:00
Eric Sesterhenn / snakebyte
cca4aa83c7 [PATCH] BUG_ON() Conversion in net/tulip/winbond-840.c
hi,

this changes if() BUG(); constructs to BUG_ON() which is
cleaner and can better optimized away

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 10:33:16 -05:00
Eric Sesterhenn / snakebyte
7e0b58f32f [PATCH] BUG_ON() Conversion in net/tulip/de2104x.c
hi,

this changes if() BUG(); constructs to BUG_ON() which is
cleaner and can better optimized away

One of the if()s contains a call to de_is_running(),
which seems to be safe to replace, but someone with more
knownledge of the code might want to verify this...

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 10:33:16 -05:00
Eric Sesterhenn / snakebyte
a707cd6e2d [PATCH] BUG_ON() Conversion in net/tulip/xircom_cb.c
hi,

this changes if() BUG(); constructs to BUG_ON() which is
cleaner and can better optimized away

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-27 10:33:16 -05:00
Jeff Garzik
97309d1a0b Merge branch 'upstream-fixes' 2006-01-26 22:19:57 -05:00
Ananda Raju
efd51b5c67 [PATCH] s2io: scatter-gather fix
There is a problem with fragmented skb in s2io driver version 2.0.9.4
	available in 2.6.16-rc1 kernel. The adapter will fail to transmit if
	any scatter-gather skb arrives.  This patch provides fix for the above
	described problem.

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-26 22:11:26 -05:00
Stephen Hemminger
c35ca399e0 [PATCH] b44: fix laptop carrier detect
On my laptop, the b44 device is created and the carrier state defaults
to ON when created by alloc_etherdev. This means tools like NetworkManager
see the carrier as On and try and bring the device up.  The correct thing
to do is mark the carrier as Off when device is created.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-26 22:10:39 -05:00
Eric Sesterhenn
6f9d47220e [PATCH] acenic: fix checking of read_eeprom_byte() return values
tmp in ace_init is u32 thus rendering read_eeprom_byte() return values
checks useless.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-26 22:09:40 -05:00
Eric Sesterhenn
6a986ce45d [PATCH] bonding: fix ->get_settings error checking
Since get_settings() returns a signed int and it gets checked
for < 0 to catch an error, res should be a signed int too.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-26 22:08:56 -05:00
Arnaldo Carvalho de Melo
0d615ec2bb sundance: Really read addr 0
Make phy 0 actually be read, as it is not being right now as we have:

              int mii_status = mdio_read(dev, phy, MII_BMSR);
              int phyx = phy & 0x1f;

When we should have instead:

              int phyx = phy & 0x1f;
              int mii_status = mdio_read(dev, phyx, MII_BMSR);

so that when phy, in the end of the (phy = 1; phy <= 32...) loop gets
to 32 phyx gets to 0, i.e. we were reading at 32, when the intended
read was for 0.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-26 22:01:38 -05:00
Benjamin Herrenschmidt
40727198bf [SUNGEM]: Make PM of PHYs more reliable (#2)
On my latest laptop, I've had occasional PHY dead on wakeup from
sleep... the PHY would be totally unresponsive even to toggling the hard
reset line until the machine is powered down... Looking closely at the
code, I found some possible issues in the way we setup the MDIO lines
during suspend along with slight divergences from what Darwin does when
resetting it that may explain the problem. That patch change these and
the problem appear to be gone for me at least... I also fixed an mdelay
-> msleep while I was at it to the pmac feature code that is called
when toggling the PHY reset line since sungem doesn't call it in an
atomic context anymore.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>b
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:30:04 -08:00
Michael Chan
206cc83ccd [BNX2]: Update version and copyright year
Update version to 1.4.31 and add 2006 copyright.

Skip the last digit when reporting the firmware version.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:14:05 -08:00
Michael Chan
bc5a0690e9 [BNX2]: Add PHY loopback test
Enhance the ethtool loopback test with PHY loopback test.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:13:22 -08:00
Michael Chan
972ec0d4ba [BNX2]: Use netdev_priv()
Replace dev->priv with netdev_priv(dev)

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:12:43 -08:00
Michael Chan
1122db717a [BNX2]: Fix nvram sizing
Add code to correctly determine nvram size.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:11:42 -08:00
Michael Chan
1269a8a64a [BNX2]: Workaround hw interrupt bug
Add workaround for a hardware interrupt issue. When using INTA,
unmasking of the interrupt and the tag update should be done
separately to avoid some spurious interrupts,

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:11:03 -08:00
Michael Chan
ade2bfe7d1 [BNX2]: Fix UDP checksum verification
Fix TCP/UDP checksum verification. Use status bits in the buffer
descriptor instead of the checksum value to verify rx checksum.
Using the checksum value will be incorrect if the UDP packet has
zero in the UDP checksum field.

Firmware update required for this fix.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:09:51 -08:00
Michael Chan
dda1e390bf [BNX2]: Misc. fixes
Some misc. fixes for WoL, 5708 B1, and a typo '=' instead of '=='.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:08:14 -08:00
Michael Chan
b090ae2b59 [BNX2]: Improve handshake with firmware
Improve handshake with bootcode with the following changes:

1. Increase timeout to 100msec and use msleep instead of udelay.

2. Add more error checking for timeouts and errors. 

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:07:10 -08:00
Michael Chan
e29054f92d [BNX2]: Fix VLAN on ASF
Always set up the device to strip incoming VLAN tags when ASF is
enabled. ASF firmware will not parse packets correctly if VLAN tags
are not stripped.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-23 16:06:06 -08:00
Paolo 'Blaisorblade' Giarrusso
ce2d2aedcc [PATCH] uml: arch Kconfig menu cleanups
*) mark as "EXPERIMENTAL" various items that either aren't very stable or
   that are actively crashing the setup of users which don't really need them
   (i.e.  HIGHMEM and 3-level pagetables on x86 - nobody needs either,
   everybody reports "I'm using it and getting trouble").

*) move net/Kconfig near to the rest of network configurations, and
   drivers/block/Kconfig near "Block layer" submenu.

*) it's useless and doesn't work well to force NETDEVICES on and to disable
   the prompt like it's done.  Better remove the attempt, and change that to a
   simple "default y if UML".

*) drop the warning about "report problems about HPPFS" - it's redundant
   anyway, as that's the usual procedure, and HPPFS users are especially
   technical (i.e.  they know reporting bugs is _good_).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-18 19:20:21 -08:00
Linus Torvalds
097916ecaf Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-01-18 15:08:16 -08:00
Nick Piggin
fa4f0774d7 [CASSINI]: dont touch page_count
Remove page refcount manipulations from cassini driver by using
another field in struct page. Needed for lockless pagecache.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-18 14:05:16 -08:00
Jeff Garzik
b4ea75b649 Merge branch 'upstream-fixes' 2006-01-18 16:20:16 -05:00