aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAge
* iwlwifi: cleanup usage of inline functionsReinette Chatre2008-01-31
| | | | | | | | | | Be consistent when using inline functions. If the function only used once we move it to where it is used - no need for externs. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Cc: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* iwlwifi: initialize geo/channel information during probeReinette Chatre2008-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | The geo/channel information is obtained from the EEPROM, which is read during probe. We can thus set up channel information at this time. This helps us to support ioctl commands that rely on this before the interface is brought up. Clearly matches _init_channel_map with _free_channel_map and _init_geos with _free_geos to ensure functions calling these routines can also call their cleanup routines. Fixes a few bugs: - if channel information is not available when ioctl commands are issued then we get a NULL pointer oops. Having channel information set up during probe we can deal with ioctl commands without requiring interface to be brought up. This fixes bug: http://www.bughost.org/bugzilla/show_bug.cgi?id=1552 - Fix potential problem if user triggers probe/remove/probe sequence. The value of priv->channel_count was used to determine if channel map is set up. This value was never reset when channel map was removed. - Fix memory leak: priv->modes need to be freed when device removed. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* iwl4965: fix return code indicating one interface is supportedReinette Chatre2008-01-31
| | | | | | | | | | | This is a fix to patch "iwlwifi: fix iwl_mac_add_interface handler". In that patch the return code was corrected for iwl3945, but not for iwl4965. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Cc: Tomas Carnecky <tom@dbservice.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* iwlwifi: Fix an invalid bitmask test in iwl3945 and iwl4965Maarten Lankhorst2008-01-31
| | | | | | | Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* rtl8180_dev.c: add support for 1799:700fAdrian Bassett2008-01-31
| | | | | | | | | | I have been using the rtl8180 driver via the git kernel route for a while now and would like to suggest that the following local ammendment is included in the development tree in order to support the PCI device 1799:700f. This device is found on the 'Belkin Wireless G Desktop Card' product, model 'F5D7000uk'. From memory, the chip on the card is inscribed RTL8185L; (I don't know the significance of the 'L', I'm afraid). Signed-off-by: Adrian Bassett <adrian.bassett@hotmail.co.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* b43legacy: fix MAC control and microcode initStefano Brivio2008-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | This zeros out all microcode related memory before loading the microcode. This also fixes initialization of the MAC control register. The _only_ place where we overwrite the contents of the MAC control register is at the beginning of b43_chip_init(). All other places must do read() -> mask/set -> write() to not overwrite existing bits. This also adds a longer delay for waiting for the microcode to initialize itself. It seems that the current timeout is sufficient on all available devices, but there's no real reason why we shouldn't wait for up to one second. Slow embedded devices might exist. Better safe than sorry. While at it, fix naming of MACCTL values. This patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* b43legacy: Fix rfkill allocation leakage in error pathsMichael Buesch2008-01-31
| | | | | | | | | We must kill rfkill in any error paths that trigger after rfkill init. Signed-off-by: Michael Buesch <mb@bu3sch.de> Acked-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* b43: Fix rfkill allocation leakage in error pathsMichael Buesch2008-01-31
| | | | | | | | We must kill rfkill in any error paths that trigger after rfkill init. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ath5k: debug level improvementsBruno Randolf2008-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | * use only one debug level for beacon debugging: unify ATH5K_DEBUG_BEACON and ATH5K_DEBUG_BEACON_PROC. * remove debug level ATH5K_DEBUG_FATAL. doesn't make sense as a debug level - if it's fatal it should be logged as an error. * fancier printing of debug levels. cat /debugfs/ath5k/phy0/debug. * allow debug levels to be changed by echoing their name into /debugfs/ath5k/phy0/debug. this will toggle the state, when it was off it will be turned on and vice versa. * use copy_from_user() when reading from the debug files. use unsigned int for better optimization. reduce buffer sizes on stack. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/debug.h: Changes-licensed-under: GPL Signed-off-by: Bruno Randolf <bruno@thinktube.com> Acked-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> Acked-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* rt61pci: fix-up merge damageJohn W. Linville2008-01-31
| | | | | | | | A subtle merge error was introduced after re-queueing a patch for 2.6.24 instead of 2.6.25... Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'linux-2.6'Paul Mackerras2008-01-30
|\
| * [net] Gracefully handle shared e1000/1000e driver PCI ID'sLinus Torvalds2008-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both the old e1000 driver and the new e1000e driver can drive some PCI-Express e1000 cards, and we should avoid ambiguity about which driver will pick up the support for those cards when both drivers are enabled. This solves the problem by having the old driver support those cards if the new driver isn't configured, but otherwise ceding support for PCI Express versions of the e1000 chipset to the newer driver. Thus allowing both legacy configurations where only the old driver is active (and handles all chips it knows about) and the new configuration with the new driver handling the more modern PCIE variants. Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * Mostly revert "e1000/e1000e: Move PCI-Express device IDs over to e1000e"Linus Torvalds2008-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The new e1000e driver is apparently not yet suitable for general use, so mark it experimental, and re-instate all the PCI-Express device IDs in the old and stable e1000 driver so that people (namely me) can continue to use a driver that actually works. Auke & co have been appraised of the situation. Cc: Auke Kok <auke-jan.h.kok@intel.com> Cc: Jeff Garzik <jeff@garzik.org> Cc: David Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * [PPP]: Sparse warning fixes.Stephen Hemminger2008-01-28
| | | | | | | | | | | | | | | | | | Fix a bunch of warnings in PPP and related drivers. Mostly because sparse doesn't like it when the the function is only marked private in the forward declaration. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [NETNS]: Add namespace parameter to ip_route_output_key.Denis V. Lunev2008-01-28
| | | | | | | | | | | | | | Needed to propagate it down to the ip_route_output_flow. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * ath5k: always extend rx timestamp with tsfBruno Randolf2008-01-28
| | | | | | | | | | | | | | | | | | | | | | always extend the rx timestamp with the local TSF, since this information is also needed for proper IBSS merging. this is done in the tasklet for now, maybe has to be moved to the interrupt handler like in madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: configure backoff for IBSS beacon queueBruno Randolf2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in "11.1.2.2 Beacon generation in an IBSS" the IEEE802.11 standard says, each STA should... "b) Calculate a random delay uniformly distributed in the range between zero and twice aCWmin × aSlotTime,". configure cwmin and cwmax of the beacon queue in IBSS mode according to this. unfortunately beacon backoff does not work reliably yet, so i suspect we have a problem somewhere else, since the same settings (and similar beacon timer configuration) work for madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: use SWBA to detect IBSS HW mergesBruno Randolf2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use SWBA (software beacon alert) interrupts to keep track of the next beacon time und check if a HW merge (automatic TSF update) has happened on every received beacon with the same BSSID. this is necessary because the atheros hardware will silently update the local TSF in IBSS mode, but not its beacon timers. if the TSF is ahead of the beacon timers no beacons are sent until the timers wrap around (typically after about 1 minute). this solution is not very nice, since we have to look into every beacon, but there is apparently no other way to detect HW merges. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/base.h: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: better beacon timer calculationBruno Randolf2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update ath5k_beacon_update_timers() for better beacon timer calculation in a variety of situations. most important is the possibility to call it with the timestamp of a received beacon, when we detected that a HW merge has happened and we need to reconfigure the beacon timers based on that. we call this from the mac80211 callback reset_tsf now instead of beacon_update, and there will be more use of it in the next patch. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: beacon interval is in TUBruno Randolf2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | the beacon interval is passed by mac80211 in TU already, so we can directly use it without conversion. also update the comments about TU (1 TU is defined by 802.11 as 1024usec). drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/base.h: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: use 3 instead of 0x00000003Bruno Randolf2008-01-28
| | | | | | | | | | | | | | | | | | | | | | reviewed beacon timer initialization with register traces from madwifi: what we are doing is correct :). one minor fix: use 3 instead of 0x00000003 - it's more readable. drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf <bruno@thinktube.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: Fix MAC control and microcode initMichael Buesch2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This zeros out all microcode related memory before loading the microcode. This also fixes initialization of the MAC control register. The _only_ place where we overwrite the contents of the MAC control register is at the beginning of b43_chip_init(). All other places must do read() -> mask/set -> write() to not overwrite existing bits. This also adds a longer delay for waiting for the microcode to initialize itself. It seems that the current timeout is sufficient on all available devices, but there's no real reason why we shouldn't wait for up to one second. Slow embedded devices might exist. Better safe than sorry. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: reset key cache after resumeJohn W. Linville2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise it may be impossible to connected to an open network after a resume. This is a modified version of an original patch by Alex Eskin <alexeskin@yahoo.com>: https://bugzilla.redhat.com/show_bug.cgi?id=425950#c8 Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: use AR5K_KEYTABLE_SIZE when initializing key tableJohn W. Linville2008-01-28
| | | | | | | | | | | | | | ...instead of using AR5K_KEYCACHE_SIZE, which would seem to be a typo/thinko... Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: Fix firmware cachingMichael Buesch2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | We must also store the ID string (filename) for the cached firmware blobs and verify that we really have the right firmware cached before using it. If we don't have the right fw cached, we must free it and request the correct blobs. This fixes bandswitch on A/B/G multi-PHY devices. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: Add more N-PHY init codeMichael Buesch2008-01-28
| | | | | | | | | | | | | | This also adds lots of TODOs. Oh well. Lots of work. :) Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43legacy: Remove the PHY spinlockMichael Buesch2008-01-28
| | | | | | | | | | | | | | | | | | | | This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * igb: PCI-Express 82575 Gigabit Ethernet driverAuke Kok2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are pleased to announce a new Gigabit Ethernet product and its driver to the linux community. This product is the Intel(R) 82575 Gigabit Ethernet adapter family. Physical adapters will be available to the public soon. These adapters come in 2- and 4-port versions (copper PHY) currently. Other variants will be available later. The 82575 chipset supports significantly different features that warrant a new driver. The descriptor format is (just like the ixgbe driver) different. The device can use multiple MSI-X vectors and multiple queues for both send and receive. This allows us to optimize some of the driver code specifically as well compared to the e1000-supported devices. This version of the igb driver no lnger uses fake netdevices and incorporates napi_struct members for each ring to do the multi- queue polling. multi-queue is enabled by default and the driver supports NAPI mode only. All the namespace collisions should be gone in this version too. The register macro's have been condensed to improve readability. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * bnx2 annotationsAl Viro2008-01-28
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * annotate netxenAl Viro2008-01-28
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * annotate myri10geAl Viro2008-01-28
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * annotate cxgb3Al Viro2008-01-28
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * annotate chelsioAl Viro2008-01-28
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [BNX2]: Fix driver phy_flags name space.Michael Chan2008-01-28
| | | | | | | | | | | | | | Prefix "bp->phy_flags" names with BNX2_PHY_FLAG_* for consistency. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [BNX2]: Fix driver software flag namespace.David S. Miller2008-01-28
| | | | | | | | | | | | Prefix "bnx2->flags" names with BNX2_* for consistency. Signed-off-by: David S. Miller <davem@davemloft.net>
| * [BNX2] Update version to 1.7.2.Michael Chan2008-01-28
| | | | | | | | | | Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [BNX2]: Add link-down workaround on 5706 serdes.Michael Chan2008-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | In some blade systems using the 5706 serdes, the hardware sometimes does not properly generate link down interrupts. We add a workaround in the driver's timer to force a link-down when some PHY registers report loss of SYNC. The parallel detect logic is cleaned up slightly to better integrate the workaround. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [BNX2]: Fix minor bug in bnx2_has_work().Michael Chan2008-01-28
| | | | | | | | | | | | | | | | | | It is more correct to get the status block from the bnx2_napi struct instead of the bnx2 struct. It happens that they are the same in this case because we are using the first MSIX vector. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [BNX2]: Disable jumbo rx paging on 5709 Ax.Michael Chan2008-01-28
| | | | | | | | | | | | | | The chip has problem running in this mode and needs to be disabled. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * b43/nphy.c: include headers to avoid build breakage on some platformsJohn W. Linville2008-01-28
| | | | | | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * drivers/net/wireless/rt2x00/rt2x00usb.c: fix uninitialized var warningAndrew Morton2008-01-28
| | | | | | | | | | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * drivers/net/wireless/iwlwifi/iwl-3945.c: fix printk warningAndrew Morton2008-01-28
| | | | | | | | | | | | | | | | drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_add_radiotap': drivers/net/wireless/iwlwifi/iwl-3945.c:269: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43legacy: fix use-after-free rfkill bugStefano Brivio2008-01-28
| | | | | | | | | | | | | | | | | | Fix rfkill code which caused a use-after-free bug. Thanks to David Woodhouse for spotting this out. Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * libertas: pepper main with debug statementHolger Schurig2008-01-28
| | | | | | | | | | | | | | | | | | | | | | libertas: re-pepper debug statementThe recent fluff of updates didn't put proper lbs_deb_enter/leave calls into the source code. Add them where appropriate. Also contains some whitespace changes. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * libertas: don't blindly try meshHolger Schurig2008-01-28
| | | | | | | | | | | | | | | | | | | | The CF card only has a very old firmware (5.0.16p0). This firmware doesn't know anything about mesh config. However, current code blindly calls mesh_config when the card is inserted. So check the firmware version before issuing this command. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * libertas: always show firmware releaseHolger Schurig2008-01-28
| | | | | | | | | | | | | | | | | | Always shows the firmware release. Also converts the firmware release into something that is easily comparable. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * libertas: move cardspecific data to driverHolger Schurig2008-01-28
| | | | | | | | | | | | | | boot2_version is purely USB specific, so move it to struct if_usb_card. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * libertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' messageHolger Schurig2008-01-28
| | | | | | | | | | | | | | | | | | netif_rx should be called only from interrupt context. if_cs and if_sdio receive packets from other contexts, and thus should call netif_rx_ni. Signed-off-by: Marc Pignat <marc.pignat@hevs.ch> Acked-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: Add lots of N-PHY lookup tablesMichael Buesch2008-01-28
| | | | | | | | | | | | | | This adds lots of N-PHY related lookup tables. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: style fixes to usage of << and >> operatorsReinette Chatre2008-01-28
| | | | | | | | | | | | | | | | | | The << and >> operators need space on each side. Cc: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>