Commit graph

1566 commits

Author SHA1 Message Date
Jouni Malinen
7cb3cd090c [PATCH] hostap: Unregister netdevs before freeing local data
Unregister all netdevs before freeing local data. I was unable to
trigger any crashes without this change when running busy loops for
driver operations when ejecting a Prism2 PC Card. Anyway, should there
be a race condition with this, better make it less likely to happen by
unregistering the netdevs first.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:09 -04:00
Jouni Malinen
c355184cd3 [PATCH] hostap: Do not free local->hw_priv before unregistering netdev
local->hw_priv was being freed and set to NULL just before calling
prism2_free_local_data(). However, this may expose a race condition in
which something ends up trying to use hw_priv during shutdown. I
haven't noticed this happening, but better be safe than sorry, so
let's postpone hw_priv freeing to happen only after
prism2_free_local_data() has returned.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:08 -04:00
Jouni Malinen
f7a7444755 [PATCH] hostap: Fix hostap_pci build with PRISM2_IO_DEBUG
The debug version of I/O functions in hostap_pci had not survived the
change to start using hw_priv pointer, so let's fix them to actually
define the local hw_priv variable.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:08 -04:00
Jouni Malinen
bab76198b3 [PATCH] hostap: Remove hw specific dev_open/close handlers
Host AP driver used hardware model specific dev_open/close handlers
that were called on dev_open/close if the hardware driver had
registered the handler. These were only used for hostap_cs and only
for tracking whether any of the netdevs were UP. This information is
already available from local->num_dev_open, so there is not need for
the special open/close handler.

Let's get rid of these handlers. In addition to cleaning up the code,
this fixes a module refcounting issue for hostap_cs where ejecting the
card while any of the netdevs were open did not decrement refcount
properly.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 22:00:08 -04:00
Stephen Hemminger
c2681dd8c7 [PATCH] skge: set mac address oops with bonding
Skge driver was bringing link up/down when changing mac
address.  This doesn't work in the bonding environment, and is
more effort than needed.

Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=5271

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-03 21:58:33 -04:00
David S. Miller
ed39f731ab [TG3]: Update driver version and release date.
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-10-03 16:25:23 -07:00
Herbert Xu
e5ed639913 [IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl
The following patch renames __in_dev_get() to __in_dev_get_rtnl() and
introduces __in_dev_get_rcu() to cover the second case.

1) RCU with refcnt should use in_dev_get().
2) RCU without refcnt should use __in_dev_get_rcu().
3) All others must hold RTNL and use __in_dev_get_rtnl().

There is one exception in net/ipv4/route.c which is in fact a pre-existing
race condition.  I've marked it as such so that we remember to fix it.

This patch is based on suggestions and prior work by Suzanne Wood and
Paul McKenney.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-10-03 14:35:55 -07:00
Michael Chan
399de50bbb [TG3]: Refine AMD K8 write-reorder chipset test.
Test for VIA K8T800 north bridge instead of AMD K8 HyperTransport
bridge based on new information from Andi Kleen. The AMD
HyperTransport interface is not responsible for PCI transactions
and so the re-ordering is more likely done by the VIA north bridge.
This code is subject to change if we get more information from AMD
or VIA.

PCI Express devices are excluded from doing the read flush since all
chipsets in the write_reorder list are PCI chipsets.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-10-03 14:02:39 -07:00
Al Viro
a232f76732 [CASSINI]: Convert to ethtool_ops
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-10-03 14:01:37 -07:00
Russell King
487fd4eb14 [ARM] Fix init printk for EBSA110 network driver, and link timer
Arrange for the initialisation printks to happen after we've
registered the network interface, so we know what name the
device is.  Also, check the link every 500ms (and use
msecs_to_jiffies.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-02 18:12:03 +01:00
Russell King
0e3a64e216 [ARM] Fix EBSA110 network driver link detection
EBSA110 link detection didn't read the register - it wrote it.  Oops.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-02 18:02:25 +01:00
Francois Romieu
f0e837d918 [PATCH] r8169: tone down the r8169 driver
Tone down the r8169 driver

As an alternative, people can use the boot time 'debug' option and/or use
'ethtool -s ethX msglvl xyz'.  The different messages are listed at:
http://www.zoreil.com/~romieu/r8169/doc/msglvl.txt

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-30 17:20:21 -07:00
Al Viro
66df3bbf07 [PATCH] volatile unsigned short f(...) doesn't make sense
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-30 08:42:24 -07:00
Al Viro
46d7031ecb [PATCH] cassini annotations and fixes
- __user annotations
 - NULL noise removal
 - C99 initializers
 - s/u32/pm_message_t/ in ->suspend()
 - removal of bogus casts in iounmap() arguments
 - if_mii() instead of open-coded variant

Remains to be done: ethtool conversion.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-30 08:42:24 -07:00
Linus Torvalds
eb693d2994 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2005-09-29 08:56:47 -07:00
Al Viro
666002218d [PATCH] proc_mkdir() should be used to create procfs directories
A bunch of create_proc_dir_entry() calls creating directories had crept
in since the last sweep; converted to proc_mkdir().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-29 08:46:26 -07:00
Stephen Hemminger
9a7ae0a978 [PATCH] sky2: nway reset (BONUS FEATURE)
Here is support for ethtool controlled renegotiation.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28 11:52:58 -04:00
shemminger@osdl.org
724bca3ca4 [PATCH] sky2: version 0.6
Verion number change, comment update and one simple optimization

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28 11:52:57 -04:00
shemminger@osdl.org
5afa0a9cfb [PATCH] sky2: explicit set power state
Add better power management, and power down the chip on device removal

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28 11:52:57 -04:00
shemminger@osdl.org
d1f1370863 [PATCH] sky2: add hardware VLAN acceleration support
Use the hardware to do VLAN.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28 11:49:32 -04:00
shemminger@osdl.org
d11c13e752 [PATCH] sky2: cleanup interrupt processing
The receive processing can be cleaned up by not using local variables
to store checksum status, instead just put it directly onto the expected
skb.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28 11:49:32 -04:00
shemminger@osdl.org
6b1a3aefd8 [PATCH] sky2: changing mtu doesn't have to reset link
Changing the MTU of the network device doesn't mean the whole link
has to be brought down and back up again.  Just stopping the receive
engine is good enough.

Signed-off-by: Stephen Hemminger <shmminger @osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28 11:49:32 -04:00
Benjamin Herrenschmidt
f65a4d10c8 [PATCH] orinoco: Fix flood of kernel log with stupid WE warnings
Latest wireless extensions moved a field from netdev -> wireless_handlers.
The WE core will now printk a warning on every call to get_wireless_stats()
on a driver that still uses the old field.  This patch fixes orinoco.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-28 07:46:41 -07:00
David S. Miller
1f26dac320 [NET]: Add Sun Cassini driver.
Written by Adrian Sun (asun@darksunrising.com).
Ported to 2.6.x by Tom 'spot' Callaway <tcallawa@redhat.com>.
Further cleaned up and integrated by David S. Miller

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-27 15:24:13 -07:00
Linus Torvalds
63906e41fe Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2005-09-27 13:32:33 -07:00
David S. Miller
c8a6c29639 [TG3]: Update driver version and release date.
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-27 12:13:38 -07:00
Michael Chan
f9804ddbee [TG3]: misc. fixes
Fix interrupt test handler by adding check for IRQ assertion in
PCI_STATE register in addition to the status block updated bit.

Add test for valid ethernet address in tg3_set_mac_addr().

Add tg3_bus_string() to setup the PCI bus speed/width string for all
PCI/PCIX/PCI Express devices. This is used to print the bus type
during init_one().

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-27 12:13:10 -07:00
Michael Chan
c94e39418a [TG3]: 5780 PHY fixes
Fix 5780 PHY related problems:

1. MAC_RX_MODE reset must be done before setting up the MAC_MODE
   register on 5705_PLUS chips or the chip will stop receiving after
   a while. The MAC_RX_MODE reset is needed to prevent intermittently
   losing the first receive packet on serdes chips.

2. Skip MAC loopback test on 5780 because of hardware errata. Normal
   traffic including PHY loopback is not affected by the errata.

3. PHY loopback fails intermittently on 5708S and this is fixed by
   putting the PHY in loopback mode first before programming the MAC
   mode register. A MAC_RX_MODE reset is also added.

4. Return -EINVAL in tg3_nway_reset() if device is in TBI mode. Allow
   nway_reset if 5780S is in parallel detect mode.

5. Add missing PHY IDs in KNOWN_PHY_ID() macro.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-27 12:12:42 -07:00
Al Viro
7625d483a4 [PATCH] missing asm/irq.h (cs89x0)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-26 18:29:49 -07:00
Jeff Garzik
2759c8d536 [wireless airo] remove needed dma_addr_t obfuscation
Fixes bus address truncation bug for certain configs.
2005-09-24 04:09:04 -04:00
Jeff Garzik
e2e9650725 Remove WIRELESS_EXT ifdefs from several wireless drivers. 2005-09-24 04:05:52 -04:00
Jean Tourrilhes
596ff2e7c8 [PATCH] hostap: Remove iwe_stream_add_event kludge
Now that we are compiling with -fno-strict-aliasing (this is the
kernel default), we can drop the following kludge for
iwe_stream_add_event().

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Jean Tourrilhes
a9d12b9a4a [PATCH] hostap: Use GFP_ATOMIC to get rid of weird might_sleep issue
This is the trace I got :
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Jean Tourrilhes
c28df16ed7 [PATCH] hostap: Add support for WE-19
This patch adds support for WE-19 to the HostAP driver. One of
the major change is the use of an explicit flag to tell if iwstat is
in dBm or not.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Pavel Roskin
7a716536c6 [PATCH] hostap: Fix pci_driver name for hostap_plx and hostap_pci
hostap_pci and hostap_plx drivers still use PCI driver names
"prism2_pci" and "prism2_plx" respectively.  This is unfriendly to
linux-wlan-ng, which uses the same names.  So, if e.g. hostap_pci and
prism2_pci are loaded, they will "share" /sys/bus/pci/drivers/prism2_plx
directory.

Change PCI driver names of hostap_pci and hostap_plx to be equal to
their module names.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-24 03:33:51 -04:00
Jeff Garzik
8cee0cd5be [netdrvr] delete CONFIG_PHYCONTROL 2005-09-23 22:58:49 -04:00
Andy Fleming
bb40dcbb0f [netdrvr gianfar] use new phy layer
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 22:54:21 -04:00
Stephen Hemminger
c886861138 [PATCH] skge: fix Yukon-Lite A0 workaround
This is one of those workarounds sucked over from sk98lin driver.
The skge driver needs to detect the Yukon-Lite A0 chip properly,
and turn of Rx FIFO Flush.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 19:07:12 -04:00
Paul Gortmaker
9389d79fbf [PATCH] 8390 Tx fix for non i386 machines
While this is true, E8390_CMD is zero on i386, and thus there should be no
effect for these machines.  Machines like Mac, Amiga etc. which use Alan's
clever register mapping may have a non-zero E8390_CMD and result in bogus
"transmitter busy" type messages from this bug.

Fixes BUG# 3991.
2005-09-23 05:18:45 -04:00
Pavel Roskin
acc4b985a6 [PATCH] orinoco: Bump version to 0.15rc3.
Signed-off-by: Pavel Roskin <proski@gnu.org>

Bump version to 0.15rc3.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:14 -04:00
Pavel Roskin
48ca703807 [PATCH] orinoco: Read only needed data in __orinoco_ev_txexc().
Signed-off-by: Pavel Roskin <proski@gnu.org>

Read only needed data in __orinoco_ev_txexc().

Don't read the 802.11 header beyond addr1.  The rest of the frame is not
used currently.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Pavel Roskin
d133ae4cd6 [PATCH] orinoco: Annotate endianess of variables and structure members.
Signed-off-by: Pavel Roskin <proski@gnu.org>

Annotate endianess of variables and structure members.

Don't reuse variables for both host-endian and little-endian data.
Minor comment changes in affected structures.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Pavel Roskin
393da59834 [PATCH] orinoco: Remove unneeded forward declarations.
Signed-off-by: Pavel Roskin <proski@gnu.org>

Remove unneeded forward declarations.

Also reorder struct pcmcia_driver initialization to keep attach and
detach together.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Pavel Roskin
8aeabc3750 [PATCH] orinoco: orinoco_send_wevents() could return without unlocking.
Signed-off-by: Pavel Roskin <proski@gnu.org>

orinoco_send_wevents() could return without unlocking.

Failure to read BSSID from the hardware would cause orinoco_send_wevents() to
return with lock held.  Found by sparse.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Pavel Roskin
f3cb4cc120 [PATCH] orinoco: Fix memory leak and unneeded unlock in orinoco_join_ap()
Signed-off-by: Pavel Roskin <proski@gnu.org>

Fix memory leak and unneeded unlock in orinoco_join_ap()

If orinoco_lock() fails, the code would still run orinoco_unlock(),
instead of freeing the allocated memory.  Found by sparse.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Pavel Roskin
4c08202547 [PATCH] orinoco: Make nortel_pci_hw_init() static.
Signed-off-by: Pavel Roskin <proski@gnu.org>

Make nortel_pci_hw_init() static.

Found by sparse.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Pavel Roskin
ef846bf04f [PATCH] orinoco: Remove inneeded system includes.
Signed-off-by: Pavel Roskin <proski@gnu.org>

Remove inneeded system includes.

Most system includes are not needed.  In particular, the hardware
backends don't need anything network related.  Some includes have been
moved from local headers to the C files where they are actually used.
Includes that have to be in the local headers are no longer from the C
sources.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-23 04:36:13 -04:00
Jeff Garzik
da192bb50c Merge /spare/repo/linux-2.6/ 2005-09-22 15:43:14 -04:00
James Ketrenos
af9288a707 ieee80211: update orinoco, wl3501 drivers for latest struct naming 2005-09-22 15:43:07 -04:00
Manfred Spraul
8a4ae7f2e2 forcedeth: add hardware tx checksumming
Recent forcedeth nics support checksum offloading for tx.

The attached patch, written by Ayaz Abdulla, adds the support to the
driver.

It also cleans up the handling of the three dma ring entry formats that
are supported by the driver.

Signed-off-By: Manfred Spraul <manfred@colorfullife.com>
Signed-off-By: Jeff Garzik <jgarzik@pobox.com>
2005-09-21 23:22:10 -04:00