Commit Graph

3033 Commits

Author SHA1 Message Date
Daniel Drake fca2714f27 [PATCH] zd1211rw: Add ID for Siemens Gigaset USB Stick 54
Tested by Martin Dummer.

zd1211 chip 0b3b:5630 v4330 high 00-01-e3 RF2959_RF pa0 ---

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-09-11 19:34:01 -04:00
Larry Finger 6aeb3dddb7 [PATCH] bcm43xx: Correct out of sequence initialization step
This patch fixes an out of sequence step in the bcm43xx_init_board
routine for bcm43xx-softmac.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-09-11 19:34:01 -04:00
Larry Finger 7d4b0394bb [PATCH] bcm43xx-softmac: Init, shutdown and restart fixes
This fixes various bugs in the init and shutdown code
that would lead to lockups and crashes.

Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-09-11 19:34:00 -04:00
John W. Linville 34fa0e319c Merge branch 'upstream-fixes' into upstream 2006-09-11 16:40:03 -04:00
Ulrich Kunitz db888aed7e [PATCH] zd1211rw: Fix of signal strength and quality measurement
Caused by a documentation issue I mixed up fields of the zd_status
structure. This patch fixes it and improves also the average
computation, which is now using only measurements of packets sent
by the access point.

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-09-11 16:11:08 -04:00
John W. Linville 623b3e1d64 Merge branch 'from-linus' into upstream 2006-09-11 14:08:41 -04:00
Francois Romieu b39fe41f48 r8169: quirk for the 8110sb on arm platform
Inverting the write ordering of the TxDescAddr{High/Low} registers
suffices to trigger a sabbat of PCI errors which make the device
completely dysfunctional. The issue has not been reported on a
different platform.

Switching from MMIO accesses to I/O ones as done in Realtek's
own driver fixes (papers over ?) the bug as well but I am not
thrilled to see everyone pay the I/O price for an obscure bug.

This is the minimal change to handle the issue.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Reported-by: Lennert Buytenhek <buytenh@wantstofly.org>
2006-09-11 19:51:47 +02:00
Jeff Garzik 6b12a3d35f Merge branch 'upstream-fixes' into upstream 2006-09-11 09:14:17 -04:00
Dirk Opfer 519854876c [PATCH] Fix dm9000 release_resource
dm9000_release_board calls release_resource with the platform resource
instead of the requested resource:

db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
db->addr_req = request_mem_region(db->addr_res->start, i, pdev->name);

dm9000_release_board:

if (db->addr_res != NULL) {
release_resource(db->addr_res);
kfree(db->addr_req);

With this behavior the kernel will crash on the second removal. The
attached patch fix this problem.

Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:08:38 -04:00
Stephen Hemminger 0486a8c83b [PATCH] skge: check for PCI hotplug during IRQ
Check if IRQ came from hardware fault (hotplug).

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:07:19 -04:00
Andy Gospodarek 2a2fc64481 [PATCH] cleanup unnecessary forcedeth printk
This removes unnecessary messages that show up every time I put my
ethernet card in promiscuous mode.  I'm already getting notification
from the networking layer, I don't need notification from the driver as
well.

There are probably other drivers that do this as well -- I'll look
around and see what I can find.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:06:34 -04:00
Valerie Henson 9f486ae1d9 [PATCH] Handle pci_enable_device() errors in resume
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Grant Grundler 42eab56776 [PATCH] Use tulip.h in winbond-840.c
Include "tulip.h" in winbond-840.c and clean up lots of redundant
definitions.

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Grant Grundler 7f2b12482c [PATCH] Clean up tulip.h
Update/cleanup some definitions in tulip.h and tulip_core.c.

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Francois Romieu 0bb3cf726b [PATCH] Defer tulip_select_media() to process context
Move tulip_select_media() processing to a workqueue, instead of
delaying in interrupt context, edited by Kyle McMartin to use kevent
thread, instead of creating its own workqueue.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Grant Grundler 40c0d87948 [PATCH] Flush MMIO writes in reset sequence
The obvious safe registers to read is one from PCI config space.

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Thibaut Varene b892de0bd7 [PATCH] Make DS21143 printout match lspci output
Signed-off-by: Thibaut Varene <varenet@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Grant Grundler c69f412219 [PATCH] Print physical address in tulip_init_one
As the cookie returned by pci_iomap() is fairly useless...

[Compile warning on pci_resource_start() format fixed up by Valerie
Henson.]

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-11 09:05:37 -04:00
Valerie Henson 6b92801b43 [PATCH] Change tulip maintainer
Signed-off-by: Valerie Henson <val_henson@linux.intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

 MAINTAINERS                    |    4 ++--
 drivers/net/tulip/21142.c      |    2 +-
 drivers/net/tulip/eeprom.c     |    2 +-
 drivers/net/tulip/interrupt.c  |    2 +-
 drivers/net/tulip/media.c      |    2 +-
 drivers/net/tulip/pnic.c       |    2 +-
 drivers/net/tulip/pnic2.c      |    2 +-
 drivers/net/tulip/timer.c      |    2 +-
 drivers/net/tulip/tulip_core.c |    2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)
2006-09-11 09:05:37 -04:00
Adrian Bunk cff93eb3d3 [PATCH] make drivers/net/e1000/e1000_hw.c:e1000_phy_igp_get_info() static
This patch makes the needlessly global e1000_phy_igp_get_info() static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 12:52:52 -04:00
Stephen Hemminger f6aa169367 [PATCH] skge: version 1.8
Because of the NAPI and other SMP fixes, let's call
this a version.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:19:23 -04:00
Stephen Hemminger 513f533e3f [PATCH] skge: use NAPI for transmit complete
The skge driver has much better performance if transmit done is handled in
NAPI softirq. Change from doing transmit locking in driver (LLTX) and
use device lock.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:19:23 -04:00
Stephen Hemminger 29365c9009 [PATCH] skge: irq lock race
The driver needs to access the IRQ status inside of lock to avoid
races with other places changing IRQ mask etc. This may be related
to some of the SMP bugs reported against skge in kernel bugzilla.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:19:23 -04:00
Stephen Hemminger c54f9765da [PATCH] skge: use netdev_alloc_skb
Change to use new netdev_alloc_skb interface for 2.6.18.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:19:22 -04:00
Stephen Hemminger 2f4a66ad49 [PATCH] sky2: more pci device id's
Some more Marvell device id's, these are from the latest SysKonnect
vendor driver version of sk98lin (8.36).

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:10:50 -04:00
Brice Goglin ce7f93680a [PATCH] myri10ge: improve firmware selection
Improve the firmware selection by adding 2 cases where we should use the
optimized firmware:
* when the actual PCIe link width is lower than 8x.
* when the board is plugged to one of the new Intel PCIe chipsets that
  are known to provide aligned PCIe completions.

The patch actually raises two concerns:
* We might want to add a generic PCI function to get the PCIe link width since
  some other drivers (at least ipath) do the same. But we probably do not want
  to add a new function for every PCIe capability. I will probably look at it
  and discuss it on linux-pci in the future.
* As requested during the submission, the PCI ids of chipsets that are known to
  provided aligned completion are defined in the myri10ge code. If we keep adding
  new ones, it might become better to move them to pciids.h.
  But, this sort of quirk to detect these chipsets are very specific to our NIC,
  I don't think it is worth moving it to the PCI core until somebody else really
  needs it.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:06:46 -04:00
Jeff Garzik b4d01327e4 Merge branch 'upstream-fixes' into upstream 2006-09-06 11:06:44 -04:00
Brice Goglin d279490543 [PATCH] myri10ge: update the firmware download URL in Kconfig
Update the firmware download URL in Kconfig to match the header
in drivers/net/myri10ge/myri10ge.c.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 11:04:26 -04:00
Jeff Garzik a2413598b8 Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream 2006-09-06 11:02:22 -04:00
Ayaz Abdulla f2ad2d9b65 [PATCH] forcedeth: decouple vlan and rx checksum dependency
This patch decouples the dependency between the rx checksum feature and
vlan feature. This is done by ignoring the checksum information if the
user has disabled rx checksum when vlan is enabled.

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

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 10:57:37 -04:00
Ayaz Abdulla edf7e5ec99 [PATCH] forcedeth: errata for marvell phys
This patch addresses an errata found on certain marvell phys concerning
the reset of the BMCR phy register during phy reset.

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

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-09-06 10:57:37 -04:00
Jeff Garzik 3784fd7316 Merge branch 'master' into upstream 2006-09-04 06:29:54 -04:00
Jeff Garzik 7c440e7990 Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into upstream 2006-08-31 17:39:21 -04:00
Auke Kok 9ee093f653 ixgb: Increment version to 1.0.112-k2
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:53 -07:00
Auke Kok 69c7a94033 ixgb: remove skb->dev assignment
Same change as e1000: remove skb->dev assignment, it's now done
by netdev_alloc_skb.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:52 -07:00
Linas Vepstas 01748fbb41 ixgb: Add PCI Error recovery callbacks
Adds PCI Error recovery callbacks to the Intel 10-gigabit ethernet ixgb
device driver.  Lightly tested, works.

"Zhang, Yanmin" <yanmin_zhang@linux.intel.com> wrote:

Both pci_disable_device and ixgb_down would access the device.  It doesn't
follow Documentation/pci-error-recovery.txt that error_detected shouldn't do
any access to the device.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:52 -07:00
Jesse Brandeburg adc5413965 ixgb: Add buffer_info and test like e1000 has.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:51 -07:00
Jesse Brandeburg 7a0eec3bca ixgb: Cache-align all TX components of the adapter struct.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:51 -07:00
Auke Kok ab8ced2fb0 ixgb: recalculate after how many descriptors to wake the queue
Recalculate when to wake the queue using DESC_NEEDED instead of a
static hardcoded number.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:51 -07:00
Jesse Brandeburg a91bb6a8b4 ixgb: Set a constant blink rate for ixgb adapter identify (1sec on, 1sec off)
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:50 -07:00
Auke Kok f990b426af ixgb: convert dev->priv to netdev_priv(dev).
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:50 -07:00
Auke Kok 5791704fbe ixgb: Convert dev_alloc_skb to netdev_alloc_skb.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:50 -07:00
Auke Kok a535aa1922 e100: increment version to 3.5.16-k2
Increment the version of e100 to 3.5.16-k2, increment dates.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:49 -07:00
Auke Kok 859b039463 e100: remove skb->dev assignment
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:49 -07:00
Linas Vepstas b1d26f24e8 e100: fix error recovery
A recent patch in -mm3 titled
"gregkh-pci-pci-don-t-enable-device-if-already-enabled.patch" causes
pci_enable_device() to be a no-op if the kernel thinks that the device is
already enabled.  This change breaks the PCI error recovery mechanism in
the e100 device driver, since, after PCI slot reset, the card is no longer
enabled.  This is a trivial fix for this problem.  Tested.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:48 -07:00
Auke Kok 4187592b6d e100: Convert e100 to use netdev_alloc_skb().
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:48 -07:00
Auke Kok 7cc33234f2 e1000: Increment driver version to 7.2.7-k2
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:47 -07:00
Christoph Hellwig ca6f722419 e1000: clean up skb allocation code
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:47 -07:00
Jesse Brandeburg 5881cde8a3 e1000: Add PCI ID 0x10a4 for our new 4-port PCI-Express device
Device 0x10a4 is a double 82571 on a single PCI-Express card and
has 4 gigabit capable ports.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:47 -07:00
Jesse Brandeburg 120cd57644 e1000: unify WoL capability detection code
WoL is constantly giving problems and needed a rewrite. Consolidates
all WoL capabilities into a single function, and disables WoL for all
other ports on the device except for port A.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-08-31 14:27:46 -07:00
Francois Romieu cccb20d3a9 8139cp: use PCI_DEVICE() to shorten the PCI device table
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:43 +02:00
François Romieu 7668a4945b 8139cp: pci_get_drvdata(pdev) can not be NULL in suspend handler
1) pci_set_drvdata() is used in cp_{init/remove}_one to initialize/reset
   driver_data to the relevant value (resp. net_device * and NULL).

2) each of the 3 relevant functions is issued under (device *)->sem:
   2.1) pci_unregister_driver
        -> driver_unregister
           -> bus_remove_driver
              -> driver_detach (takes (device *)->sem)
                 -> __device_release_driver(dev)
                    -> dev->bus-remove(dev) (== pci_device_remove)
                       -> drv->remove(pdev) (== cp_remove_one)
                       [...]
                       pci_dev->driver = NULL;

   2.2) pci_register_driver
        -> __pci_register_driver
           -> driver_register
              -> bus_add_driver
                 -> driver_attach
                    -> __driver_attach (takes (device *)->sem)
                       -> driver_probe_device(drv, dev)
                          -> dev->bus->probe(dev) (== pci_device_probe)
                             -> _pci_device_probe(drv, pci_dev)
                                -> pci_call_probe(drv, pci_dev, id)
                                   -> drv->probe(dev, id) (== cp_init_one)
                                [...]
                                pci_dev->driver = drv;

   2.3) suspend_device (takes (device *)->sem)
        -> dev->bus->suspend(dev) (== pci_device_suspend)
           checking for drv = pci_dev->driver != NULL
           [...]
           -> drv->suspend(pci_dev, state) (== cp_suspend)

dev->sem and the state of pci_dev->driver provide the expected result.

St Mary's day was a bit rainy here.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:42 +02:00
Francois Romieu e68970e754 8139cp: removal of useless BUG_ON() check
netdev_priv() will provide a nice oops a few lines before
the BUG_ON() check.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:41 +02:00
Francois Romieu d03d376dd2 8139cp: sync the device private data with its r8169 counterpart
struct cp_private is reorganized to be more easily compared between the
r8169 and the 8139cp drivers.

The alignment should not be impacted.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:41 +02:00
Francois Romieu 0ba894d420 8139cp: ring_info removal for the receive path
The ring_info.len field is not used at all. cp_private.rx_skb is
turned into an array of sk_buff *.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:40 +02:00
Francois Romieu c48e9399e8 8139cp: remove gratuitous indirection
dev is an argument of the current function.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:40 +02:00
Francois Romieu 3598b57be4 8139cp: trim ring_info
Fat removal: the mapping address is available from the Rx/Tx descriptors.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:15:39 +02:00
Francois Romieu d2eed8cff9 r8169: the 0x8136 needs a 8 bytes alignment
Reported by Darren Salt.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 22:01:07 +02:00
Francois Romieu 5f787a1aca r8169: add basic MII ioctl support
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 21:59:42 +02:00
Francois Romieu 64e4bfb40c r8169: use standard #defines from mii.h instead of declaring private ones
Some unused stuff goes away btw.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 21:59:36 +02:00
Francois Romieu 5b0384f4fd r8169: trim trailing whitespaces and convert whitespaces to tabs
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 21:59:29 +02:00
Francois Romieu b518fa8eac r8169: udelay() removal
No need to chew CPU cycles as there is no heavy timing requirement
and the delays are always requested from a sleepable context.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 21:59:24 +02:00
Francois Romieu 188f4af046 r8169: use NETDEV_TX_{BUSY/OK}
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-08-31 21:59:19 +02:00
Paul Mackerras aa43f77939 Merge branch 'merge' 2006-08-31 15:45:48 +10:00
Linus Torvalds df31405a9a Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SUNLANCE]: Fix probing problem.
  [SPARC64]: Fix X server hangs due to large pages.
2006-08-30 15:54:55 -07:00
Krzysztof Helt 404dda854b [SUNLANCE]: Fix probing problem.
The current probe table causes ledma and lebuffer
"le" devices to get probed twice which is not what
we want.

Match just "le" and look directly at the parent to get the correct
top-level node information.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-29 21:23:32 -07:00
Stephen Hemminger ee1377c3ee [STRIP]: Fix neighbour table refcount leak.
Found by inspection. The STRIP driver does neigh_lookup() but never
releases.  This driver shouldn't being doing gratuitous arp anyway.

Untested, obviously, because of lack of hardware.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-29 21:22:19 -07:00
David S. Miller 8fb6f732c3 [E100]: Add module option to ignore bad EEPROM checksums.
Several people run into the situation where the E100
EEPROM contents are fine, but the checksum hasn't been
set properly.  This renders the device useless for
them even though it would function correctly.

The default is off, which retains the current behavior.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-29 21:22:14 -07:00
Stephen Hemminger 6fc47e31c0 [PATCH] skge: version 1.7
Increase version.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:31 -04:00
Stephen Hemminger ccdaa2a9da [PATCH] skge: use ethX for irq assigments
The user level irq balance daemon uses "eth" as a way to distinquish
ethernet devices. Also, by using device name it is possible to distinquish
different boards.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:31 -04:00
Stephen Hemminger 83c758fabd [PATCH] skge: use dev_alloc_skb
To avoid problems with buggy protocols that assume extra header space,
use dev_alloc_skb() when allocating receive buffers.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:31 -04:00
Stephen Hemminger 78bc218663 [PATCH] skge: pci bus post fixes
At the end of a critical section, we need to force the PCI write
to complete by doing a read.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
Stephen Hemminger d38efdd65a [PATCH] skge: cleanup suspend/resume code
The code for suspend/resume needs several fixes. The hardware lock
should be setup in probe only, not in resume. Interrupts should be
disabled during suspend, etc.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org e981d47b9f [PATCH] sky2: version 1.7
Change version number for this bundle.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org 98232f85ff [PATCH] sky2: pci post bug
Make sure that PCI write occurs before the delay.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org d3bcfbeb27 [PATCH] sky2: power down PHY when not up
To save power, don't enable power to the PHY until device is brought up.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org 1d179332f8 [PATCH] sky2: optimize checksum offload information
Since many packets have the same checksum starting offset and insertion
location; the driver can save the last information and only tell hardware
when it changes.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org e07560cd4f [PATCH] sky2: TSO mss optimization
The MSS in the transmit engine only has to change if TSO mtu changes. This
means less commands to the chip when mixing TSO and regular data.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org bb507fe11f [PATCH] sky2: MSI test timing
The test for MSI IRQ could have timing issues. The PCI write needs to be
pushed out before waiting, and the wait queue should be initialized before
the IRQ.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:30 -04:00
shemminger@osdl.org 97bda706b4 [PATCH] sky2: dont use force status bit
Don't use force status bit. It was never implemented on all chips, or has
no impact.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:29 -04:00
shemminger@osdl.org 497d7c8681 [PATCH] sky2: use netdev_alloc_skb
Use netdev_alloc_skb for buffer allocation to allow for headroom.
This prevents bugs in code paths that assume extra space at the
front and makes sky2 behave like other drivers.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:29 -04:00
shemminger@osdl.org fba5008cda [PATCH] sky2: remove cloned/pskb_expand_head check
The code to handle cloned skb overwriting is unnecessary in the
sky2 driver and is buggy. The bug is that pskb_expand_head can change the
skb but the driver has already mapped in the header.

Since the sky2 hardware doesn't need to overwrite memory, the buggy
code can just be removed; it was mistakenly copied from the tg3
driver.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-08-29 17:18:29 -04:00
Larry Finger c576af4791 [PATCH] bcm43xx: Set floor of wireless signal and noise at -110 dBm
This patch sets the floor of wireless level (signal) and noise at
-110 dBm, which makes them be comatible with RCPI, as discussed by
Simon Barber. With this change, bcm43xx-softmac and bcm43xx-d80211
behave the same.

Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:34 -04:00
Larry Finger 653d5b55c0 [PATCH] bcm43xx - set correct value in mac_suspended for ifdown/ifup sequence
When bcm43xx-softmac is given an ifdown/ifup sequence, the value for
bcm->mac_suspended ends up wrong, which leads to a large number of
assert(bcm->mac_suspended>=0) messages. This one-line patch fixes
this problem.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:34 -04:00
Zhu Yi efa7e0691f [PATCH] ipw2200: Fix compile error when CONFIG_IPW2200_DEBUG is not selected
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:34 -04:00
Zhu Yi 8b5f9171f6 [PATCH] ipw2200: Update version stamp to 1.1.4
Update version ipw2200 stamp to 1.1.4

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:34 -04:00
Zhu Yi 094c4d2df6 [PATCH] ipw2200: enable wireless extension passive scan
This patch enables the ipw2200 driver to support passive scanning as
offered by the wireless extensions. For this, I enhanced the ipw_wx_set_scan
function in such a way that it differentiates between a passive and an
active scan request. Additionally, I added a new function called
ipw_request_passive_scan that is similiar to the ipw_request_scan
function to perform passive scans. Last but not least, I added a field
(in fact it is a work_struct struct) called request_passive_scan to
the ipw_priv struct.

Signed-off-by: Thomas King <king@informatik.uni-mannheim.de>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:34 -04:00
Zhu Yi efbd809829 [PATCH] ipw2100: Fix deadlock detected by lockdep
Fix by removing dependency between priv->action_sem and rtnl semaphore.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:33 -04:00
Zhu Yi c8c22c942e [PATCH] ipw2200: Add pci .shutdown handler
If we don't disable the card in the pci .shutdown method, there might be
pending interrupts still in the interrupt line after a reboot on some
platform. This patch fixes the problem by disable the hardware in the pci
.shutdown method.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:33 -04:00
Zhu Yi b9bec768c3 [PATCH] ipw2200: Fix kernel Oops if cmdlog debug is enabled
When command error log debug is enabled, we write every host command and
parameters into a buffer. But we didn't alloc the parameter buffer for this
case. The patch adds struct cmdlog_host_cmd so that the buffer is allocated
from the stack.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:33 -04:00
Zhu Yi d5f7ac2039 [PATCH] ipw2200: mark "iwconfig retry 255" as invalid
The ipw2200 firmware/ucode only support values from 0 to 254. So mark 255
as invalid.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:33 -04:00
Zhu Yi 88a93df4cb [PATCH] ipw2200: remove the MAC timestamp present field from radiotap head
IEEE80211_RADIOTAP_TSFT is defined as the Value in microseconds of the
MAC's 64-bit 802.11 Time Synchronization Function timer when the first bit
of the MPDU arrived at the MAC. Since ipw2200 hardware doesn't provide this
value, we disable this feature from the radiotap header present flag.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:32 -04:00
Zhu Yi 851ca2687e [PATCH] ipw2200: Fix ipw2200 QOS parameters endian issue
Signed-off-by: Jackie Wu <jackie.wu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:32 -04:00
Zhu Yi 39be0aaf20 [PATCH] ipw2200: remove unused struct ipw_rx_buffer
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:32 -04:00
Zhu Yi a9f0d42321 [PATCH] ipw2200: Reassociate even if set the same essid.
This patch traps the case when the essid is being set to its
current value. If the essid is being set again and we are already
associated, chances are some other parameters have also been altered.
I think it is safer to do the re-association for this case.

Signed-off-by: Bill Moss <bmoss@clemson.edu>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:32 -04:00
Zhu Yi ab644b0b51 [PATCH] ipw2200: ipw_wx_set_essid fix
This patch cleanups the ipw_wx_set_essid code and forces a reassociation
when setting the essid to "any". I have tested this patch with iwconfig. It
makes ipw2200 compliant with all the cases mentioned in the iwconfig man
page. The commands

iwconfig iface essid any
iwconfig iface essid -- any
iwconfig iface essid off
iwconfig iface essid on

all seemed to work correctly. None of this worked before the patch.

Note, this patch treats

iwconfig iface essid
iwconfig iface essid ""

The same. It produces an error message: essid: Unknown host.
Since an essid of "" is not mentioned in the iwconfig man page.

Signed-off-by: Bill Moss <bmoss@clemson.edu>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:31 -04:00
Zhu Yi c580f67fd7 [PATCH] ipw2200: SIOCGIWFREQ ioctl returns frequency rather than channel
The SIOCGIWFREQ ioctl fills the request structure's freq field by setting
the exponent to 0 and the mantissa to the current channel number. The
iwconfig tool works around this behaviour by looking up the frequency
from the channel table if a frequency below 1kHz is returned, other tools
(e.g. kwlaninfo) don't. According to the comment in the iwconfig source
the driver is supposed to return the frequency, not the channel number.

Signed-off-by: Ingo van Lil <inguin@gmx.de>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:31 -04:00
Zhu Yi 01d478338f [PATCH] ipw2200: always enable frequently used debugging code
Moving part of the debugging code from IPW_DEBUG to IPW_LL_DEBUG (low level
debugging) and make IPW_DEBUG be always enabled. IPW_LL_DEBUG still needs
to be enabled by selecting CONFIG_IPW2200_DEBUG. But it is highly
deprecated for normal users since it adds higher debug verbosity in driver
hot paths.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:31 -04:00
Larry Finger b6971c2191 [PATCH] bcm43xx: return correct hard_start_xmit error code
hard_start_xmit should return a NETIF_TX_FOO error code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:30 -04:00
Larry Finger 80b60fa848 [PATCH] bcm43xx: optimization of DMA bitfields
Convert the bitfields in the bcm43xx DMA code to properly
aligned u8 booleans. These flags are accessed in the DMA
hotpath, so it's a good idea to waste a few bytes of memory
for the sake of speed by not requiring masking (and probably
shifting) of the bitfields.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-08-29 17:06:29 -04:00