Commit Graph

138 Commits

Author SHA1 Message Date
Michael Chan
1b62815193 [TG3]: Fix bug in tg3_load_firmware_cpu
Add tg3_nvram_lock() and tg3_nvram_unlock() calls around tg3_halt_cpu().
It is possible that the bootcode may be loading code from nvram during
this call and stopping the cpu without getting the lock may cause
uncompleted nvram data to be left in the nvram data register. Subsequent
calls to read/write nvram data will fail.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:59:49 -07:00
Michael Chan
d4bc3927d2 [TG3]: Add interrupt test
This test uses the previously added tg3_test_interrupt() to perform the
test.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:59:20 -07:00
Michael Chan
c76949a682 [TG3]: Add loopback test
The test will loopback one packet in MAC loopback mode and verify the
packet data.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:58:59 -07:00
Michael Chan
7942e1dbd7 [TG3]: Add memory test
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:58:36 -07:00
Michael Chan
a71116d1f3 [TG3]: Add register test
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:58:11 -07:00
Michael Chan
944d980eca [TG3]: Add parameter to tg3_halt
Add a reset kind parameter to tg3_halt() so that the RESET_KIND_SUSPEND
parameter can be passed to tg3_halt() before doing offline tests.

All other calls to tg3_halt() will use the RESET_KIND_SHUTDOWN
parameter.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:57:48 -07:00
Michael Chan
ca43007a92 [TG3]: Add link test
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:57:23 -07:00
Michael Chan
566f86adb3 [TG3]: Add nvram test
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:56:58 -07:00
Michael Chan
4cafd3f533 [TG3]: Add basic selftest infrastructure
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-29 14:56:34 -07:00
Linus Torvalds
4ec5240ec3 Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2005-05-26 13:54:33 -07:00
Michael Chan
b6016b7673 [BNX2]: New Broadcom gigabit network driver.
A new driver bnx2 for Broadcom bcm5706 is available.

The patch also includes new 1000BASE-X advertisement bit definitions in
mii.h

Thanks to David Miller and Jeff Garzik for reviewing and their valuable
feedback.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-26 13:03:09 -07:00
Jay Vosburgh
2f872f0401 [BONDING]: bonding using arp_ip_target may stay down with active path
Correcting the list traversal makes the problem go away.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-26 12:56:59 -07:00
ad6a9984ee Automatic merge of /spare/repo/netdev-2.6 branch tlan 2005-05-25 22:11:38 -04:00
38778204a1 Automatic merge of /spare/repo/netdev-2.6 branch sis900 2005-05-25 22:11:28 -04:00
8cf0d9d075 Automatic merge of /spare/repo/netdev-2.6 branch veth 2005-05-25 22:11:14 -04:00
f5a702b26a Automatic merge of /spare/repo/netdev-2.6 branch ns83820 2005-05-25 22:10:53 -04:00
5ea6f2c33f Automatic merge of /spare/repo/netdev-2.6 branch natsemi 2005-05-25 22:10:38 -04:00
acb969560d Automatic merge of /spare/repo/netdev-2.6 branch forcedeth 2005-05-25 22:10:25 -04:00
ee03a68c10 Automatic merge of /spare/repo/netdev-2.6 branch airo 2005-05-25 22:09:52 -04:00
0c2fc10901 Automatic merge of /spare/repo/netdev-2.6 branch atmel 2005-05-25 22:07:51 -04:00
f6f3a488e5 Automatic merge of /spare/repo/netdev-2.6 branch amd8111 2005-05-25 13:57:36 -04:00
a58eae6480 Automatic merge of /spare/repo/netdev-2.6 branch pcnet32 2005-05-25 13:57:25 -04:00
09e62666d8 Automatic merge of /spare/repo/netdev-2.6 branch ixgb 2005-05-25 13:57:15 -04:00
34812c9e18 Automatic merge of /spare/repo/netdev-2.6 branch e1000 2005-05-25 13:57:03 -04:00
d6d78f63ce Automatic merge of /spare/repo/netdev-2.6 branch e100 2005-05-25 13:56:55 -04:00
John W. Linville
9092f46b5a [PATCH] tulip: add return to ULI526X clause in tulip_mdio_write
The 'if' clause for ULI526X in tulip_mdio_write allows for
spin_unlock_irqrestore to be called twice for tp->mii_lock.  I believe
this is caused by the unintentional omission of a return at the end
of that clause.  This patch adds that return.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-05-24 00:26:12 -04:00
David S. Miller
d1faeaeb95 [TG3]: Update driver version.
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-23 14:00:44 -07:00
David S. Miller
ded7340d9d [TG3]: Increase TEST_BUFFER_SIZE to 8K.
This makes the DMA bug workaround test more likely
to find the problem on some systems.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-23 13:59:47 -07:00
David S. Miller
413f5431a5 [TG3]: Update driver version and reldate.
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-23 13:13:15 -07:00
Xose Vazquez Perez
d8659255c5 [TG3]: Add 5752M device ID.
Add 0x1601 as 5752M, it's a 5752 but for mobile PCs.
Stolen from Broadcom bcm5700-8.1.55 driver.

Someone forgot to add it to tg3 ;-)

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-23 12:54:51 -07:00
David S. Miller
f7383c2224 [TG3]: In tg3_poll(), resample status_tag after doing work.
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-18 22:50:53 -07:00
David S. Miller
59e6b43432 [TG3]: Refine DMA boundary setting.
Extract DMA boundary bit selection into a seperate
function, tg3_calc_dma_bndry().  Call this from
tg3_test_dma().

Make DMA test more reliable by using no DMA boundry
setting during the test.  If the test passes, then
use the setting we selected before the test.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Michael Chan <mchan@broadcom.com>
2005-05-18 22:50:10 -07:00
David S. Miller
15f9850d3c [TG3]: Set minimal hw interrupt mitigation.
Even though we do software interrupt mitigation
via NAPI, it still helps to have some minimal
hw assisted mitigation.

This helps, particularly, on systems where register
I/O overhead is much greater than the CPU horsepower.

For example, it helps on NUMA systems.  In such cases
the PIO overhead to disable interrupts for NAPI accounts
for the majority of the packet processing cost.  The
CPU is fast enough such that only a single packet is
processed by each NAPI poll call.

Thanks to Michael Chan for reviewing this patch.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-18 22:49:26 -07:00
David S. Miller
fac9b83ea7 [TG3]: Add tagged status support.
When supported, use the TAGGED interrupt processing support
the chip provides.  In this mode, instead of a "on/off" binary
semaphore, an incrementing tag scheme is used to ACK interrupts.

All MSI supporting chips support TAGGED mode, so the tg3_msi()
interrupt handler uses it unconditionally.  This invariant is
verified when MSI support is tested.

Since we can invoke tg3_poll() multiple times per interrupt under
high packet load, we fetch a new copy of the tag value in the
status block right before we actually do the work.

Also, because the tagged status tells the chip exactly which
work we have processed, we can make two optimizations:

1) tg3_restart_ints() need not check tg3_has_work()
2) the tg3_timer() need not poke the chip 10 times per
   second to keep from losing interrupt events

Based upon valuable feedback from Michael Chan <mchan@broadcom.com>

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-05-18 22:46:34 -07:00
Daniel Andersen
c8920ba041 [PATCH] wireless: 3CRWE154G72 Kconfig help fix
Version 2 of the 3com OfficeConnect 11g Cardbus Card aka 3CRWE154G72 is not
supported by the prism54 project.  To stop confusion, the kernel
documentation should state so as 3com made a good job hiding the version.

Signed-off-by: Andrew Morton <akpm@osdl.org>

diff -puN drivers/net/wireless/Kconfig~wireless-3crwe154g72-kconfig-help-fix drivers/net/wireless/Kconfig
2005-05-16 00:04:29 -04:00
Jiri Benc
c4cc26d331 [PATCH] Typo in tulip driver
This patch fixes a typo in tulip driver in 2.6.12-rc3.
2005-05-15 23:18:48 -04:00
James Harper
562faf469f [PATCH] fix PROMISC/bridging in TLAN driver
This has been a problem for me for ages.  When using bridging, the driver
is switched into promiscuous mode before the link init is complete.  The
init complete routine then resets the promisc bit on the card so the kernel
still thinks the card is in promiscuous mode but the card isn't.  doh.

I think this bug only shows up in bridging when the bridge is started at
boot time (or something else that sets promisc at the same time the card
was started).  If promisc is enabled later it works.

Here's a trivial (and hopefully correct) patch that works for me. It
just calls the promisc/multicast setup routine after init.

Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-05-15 22:47:56 -04:00
Geoff Levand
99718699f5 [PATCH] {PATCH] Fix IBM EMAC driver ioctl bug
Fix IBM EMAC driver ioctl bug.

I found IBM EMAC driver bug.
So mii-tool command print wrong status.

  # mii-tool
  eth0: 10 Mbit, half duplex, no link
  eth1: 10 Mbit, half duplex, no link

I can get correct status on fixed kernel.

  # mii-tool
  eth0: negotiated 100baseTx-FD, link okZZ
  eth1: negotiated 100baseTx-FD, link ok

Hiroaki Fuse

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> for CELF
2005-05-15 22:44:26 -04:00
Benjamin LaHaise
c16ef1ceed [PATCH] ns83820 update
Changes:
- improved DAC ifdefs from Andi Kleen
- removal of dead code from Adrian Bunk
- fix half duplex collision behaviour
2005-05-15 22:26:45 -04:00
Al Viro
f7a3aae172 [PATCH] drivers/net/wireless enabled by wrong option
NET_WIRELESS is only a subset of the stuff in drivers/net/wireless;
NET_RADIO is what covers all of them.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
2005-05-15 22:22:32 -04:00
Stephen Hemminger
15efa9bb2d [PATCH] tlan: restore deleted module parameters.
The module parameter values got lost in the conversion to the new module_param
interface. This should fix it.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>

Index: tlan/drivers/net/tlan.c
===================================================================
2005-05-15 18:25:23 -04:00
Adrian Bunk
6da0f68593 [PATCH] SIS900 must select MII
This patch fixes the following compile error caused by bk-netdev:

<--  snip  -->

...
  LD      .tmp_vmlinux1
drivers/built-in.o(.text+0x98528): In function `sis900_get_settings':
: undefined reference to `mii_ethtool_gset'
drivers/built-in.o(.text+0x98538): In function `sis900_set_settings':
: undefined reference to `mii_ethtool_sset'
drivers/built-in.o(.text+0x98517): In function `sis900_get_link':
: undefined reference to `mii_link_ok'
drivers/built-in.o(.text+0x98547): In function `sis900_nway_reset':
: undefined reference to `mii_nway_restart'
make: *** [.tmp_vmlinux1] Error 1

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Daniele Venzano <venza@brownhat.org>
2005-05-15 18:24:14 -04:00
Don Fry
1bcd315362 [PATCH] pcnet32: fix resource leak with loopback test
When running the loopback test, resources are not properly released on
completion.  This patch frees all transmit resources after running the
loopback test.  Tested on ia32 and ppc64 hardware.

Signed-off-by: Don Fry <brazilnut@us.ibm.com>
2005-05-15 18:22:29 -04:00
Dan Williams
41480af27a [PATCH] wireless/airo: WEXT and quality corrections
This patch brings the airo driver into line with the current
WEXT specification of signal quality.  It also fixes the values
used to determine signal quality and level for MPI & PCMCIA 350
cards.  It turns out that BSSListRid.rssi was actually in dBm
for 350 series cards, and that we can use the normalized
signal strength reported by the card as our "quality" value, on
a scale of 0 - 100.  Since signal level values are in dBm for
this driver, max_qual->level MUST be 0, as specified in the WEXT
spec.  This patch also uses the IW_QUAL constants new in WEXT
version 17.

Signed-off-by: Dan Williams <dcbw@redhat.com>
2005-05-15 18:20:57 -04:00
Herbert Xu
760f86d78d [PATCH] Fw: [Bugme-new] [Bug 4482] New: natsemi: incorrect initialization of IPv6 Neighbor-discovery multicast
On Wed, Apr 13, 2005 at 05:36:42PM +0000, Andrew Morton wrote:
>            Summary: natsemi: incorrect initialization of IPv6 Neighbor-
>                     discovery multicast

I've got a pair of FA312 cards and this problem has bothered me
for ages.  This has finally prompted me to do something about it :)

Turns out that somebody wasn't following the documentation.  We were
doing 16-bit writes to 32-bit registers which led to some addresses
working and others not so lucky.

This patch should fix the problem.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2005-05-15 18:18:56 -04:00
simon@thekelleys.org.uk
e885b5e839 [PATCH] atmel wireless
Below is a one-liner for the atmel wireless driver, just adding
another card to the table.
2005-05-15 18:11:54 -04:00
Manfred Spraul
22c6d143f3 [PATCH] forcedeth: Update error handling
Ayaz wrote an update to the error handling for forcedeth (which I
modified heavily, thus all bugs are mine):
The ERROR4 bit is not a fatal error, it just indicates a mismatch
between the actual packet len and the len according to the 802.3 header.
The patch adds proper handling.
The patch also removes the code that drops all packets with RX_ERROR &
(!RX_FRAMINGERR): ERROR4 errors are also not fatal.
2005-05-15 18:10:01 -04:00
Michael Ellerman
b2e0852e1e [PATCH] iseries_veth: Cleanup skbs to prevent unregister_netdevice() hanging
Hi Andrew, Jeff,

The iseries_veth driver is badly behaved in that it will keep TX packets
hanging around forever if they're not ACK'ed and the queue never fills up.

This causes the unregister_netdevice code to wait forever when we try to take
the device down, because there's still skbs around with references to our
struct net_device.

There's already code to cleanup any un-ACK'ed packets in veth_stop_connection()
but it's being called after we unregister the net_device, which is too late.

The fix is to rearrange the module exit function so that we cleanup any
outstanding skbs and then unregister the driver.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
2005-05-15 18:08:06 -04:00
Michael Ellerman
41664c03f6 [PATCH] iseries_veth: Don't leak skbs in RX path
Hi Andrew, Jeff,

Under some strange circumstances the iseries_veth driver can leak skbs.

Fix is simply to call dev_kfree_skb() in the right place.
Fix up the comment as well.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
2005-05-15 18:08:05 -04:00
Michael Ellerman
eb235aef72 [PATCH] iseries_veth: Set dev->trans_start so watchdog timer works right
Hi Andrew, Jeff,

The iseries_veth driver doesn't set dev->trans_start in it's TX path. This
will cause the net device watchdog timer to fire earlier than we want it to,
which causes the driver to needlessly reset its connections to other LPARs.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
2005-05-15 18:08:05 -04:00