summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* decnet: add RTNL lock when reading address liststephen hemminger2009-11-121-0/+4
| | | | | | | | | | | Add missing locking in the case of auto binding to the default device. The address list might change while this code is looking at the list. Compile tested only, I am not a decnet user. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: fold name hash properly (v3)stephen hemminger2009-11-121-1/+2
| | | | | | | | | | | | | | | | | The full_name_hash function does not produce well distributed values in the lower bits, so most code uses hash_32() to fold it. This is really a bug introduced when name hashing was added, back in 2.5 when I added name hashing. hash_32 is all that is needed since full_name_hash returns unsigned int which is only 32 bits on 64 bit platforms. Also, there is no point in using hash_32 on ifindex, because the is naturally sequential and usually well distributed. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Change version to v1.00.00.23.00.00-01.Ron Mercer2009-11-121-1/+1
| | | | | Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Clean up module parameter name.Ron Mercer2009-11-121-8/+8
| | | | | | | Change it to match qlge_xxx convention. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Add asic reset to open call.Ron Mercer2009-11-121-0/+4
| | | | | | | Force asic to known state at open(). Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Do not change frame routing during suspend.Ron Mercer2009-11-121-3/+0Star
| | | | | | | | We do not need to change the frame routing to direct all frames to the management fifo during suspend. This is now done by the firmware. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* clocksource/timecompare: Fix symbol exports to be GPL'd.David S. Miller2009-11-122-6/+6
| | | | | | Noticed by Thomas GLeixner. Signed-off-by: David S. Miller <davem@davemloft.net>
* gianfar: Revive SKB recyclingAnton Vorontsov2009-11-121-12/+19
| | | | | | | | | | | | | | | | | | Before calling gfar_clean_tx_ring() the driver grabs an irqsave spinlock, and then tries to recycle skbs. But since skb_recycle_check() returns 0 with IRQs disabled, we'll never recycle any skbs. It appears that gfar_clean_tx_ring() and gfar_start_xmit() are mostly idependent and can work in parallel, except when they modify num_txbdfree. So we can drop the lock from most sections and thus fix the skb recycling. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* gianfar: Fix race between gfar_error() and gfar_start_xmit()Anton Vorontsov2009-11-121-0/+8
| | | | | | | | | | | | gfar_error() can arrive at the middle of gfar_start_xmit() processing, and so it can trigger transfers of BDs that we don't yet expect to be transmitted. Fix this by locking the tx queues in gfar_error(). Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* gianfar: Fix thinko in gfar_set_rx_stash_index()Anton Vorontsov2009-11-121-1/+1
| | | | | | | | | We obviously want to write a modified 'temp' value back to the register, not the saved IRQ flags. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* gianfar: Fix build with CONFIG_PM=yAnton Vorontsov2009-11-121-1/+1
| | | | | | | | | | | | | | | commit fba4ed030cfae7efdb6b79a57b0c5a9d72c9 ("gianfar: Add Multiple Queue Support") introduced the following build failure: CC gianfar.o gianfar.c: In function 'gfar_restore': gianfar.c:1249: error: request for member 'napi' in something not a structure or union This patch fixes the issue. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* gianfar: Remove 'Interrupt problem!' warningAnton Vorontsov2009-11-121-2/+0Star
| | | | | | | | It is OK to poll with disabled IRQs, so remove the warning. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* skbuff: Do not allow skb recycling with disabled IRQsAnton Vorontsov2009-11-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | NAPI drivers try to recycle SKBs in their polling routine, but we generally don't know the context in which the polling will be called, and the skb recycling itself may require IRQs to be enabled. This patch adds irqs_disabled() test to the skb_recycle_check() routine, so that we'll not let the drivers hit the skb recycling path with IRQs disabled. As a side effect, this patch actually disables skb recycling for some [broken] drivers. E.g. gianfar driver grabs an irqsave spinlock during TX ring processing, and then tries to recycle an skb, and that caused the following badness: nf_conntrack version 0.5.0 (1008 buckets, 4032 max) ------------[ cut here ]------------ Badness at kernel/softirq.c:143 NIP: c003e3c4 LR: c423a528 CTR: c003e344 ... NIP [c003e3c4] local_bh_enable+0x80/0xc4 LR [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack] Call Trace: [c15d1b60] [c003e32c] local_bh_disable+0x1c/0x34 (unreliable) [c15d1b70] [c423a528] destroy_conntrack+0xd4/0x13c [nf_conntrack] [c15d1b80] [c02c6370] nf_conntrack_destroy+0x3c/0x70 Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv6: Remove unused var in inet6_dump_ifinfo()David S. Miller2009-11-121-1/+1
| | | | | | | | | | | | | | | | Reported by Stephen Rothwell: -------------------- Today's linux-next build (x86_64 allmodconfig) produced this warning: net/ipv6/addrconf.c: In function 'inet6_dump_ifinfo': net/ipv6/addrconf.c:3833: warning: unused variable 'err' Introduced by commit 84d2697d9649339215675551eae28ba04068dea1 ("ipv6: speedup inet6_dump_ifinfo()"). -------------------- Signed-off-by: David S. Miller <davem@davemloft.net>
* iwlwifi: fix iwl1000 "RTS/CTS for HT" merge damageJohn W. Linville2009-11-111-0/+1
| | | | | | | I may have botched my merge conflict resolution instructions for Dave... Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2009-11-117-11/+22
|\ | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h
| * iwlwifi: Fix issue on file transfer stalled in HT modeWey-Yi Guy2009-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Turn on RTS/CTS for HT to prevent uCode TX fifo underrun This is fix for http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2103 Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Tested-by: Jiajia Zheng <jiajia.zheng@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: Use RTS/CTS as the preferred protection mechanism for 6000 seriesWey-Yi Guy2009-11-104-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When 802.11g was introduced, we had RTS/CTS and CTS-to-Self protection mechanisms. In an HT Beacon, HT stations use the "Operating Mode" field in the HT Information Element to determine whether or not to use protection. The Operating Mode field has 4 possible settings: 0-3: Mode 0: If all stations in the BSS are 20/40 MHz HT capable, or if the BSS is 20/40 MHz capable, or if all stations in the BSS are 20 MHz HT stations in a 20 MHz BSS Mode 1: used if there are non-HT stations or APs using the primary or secondary channels Mode 2: if only HT stations are associated in the BSS and at least one 20 MHz HT station is associated. Mode 3: used if one or more non-HT stations are associated in the BSS. When in operating modes 1 or 3, and the Use_Protection field is 1 in the Beacon's ERP IE, all HT transmissions must be protected using RTS/CTS or CTS-to-Self. By default, CTS-to-self is the preferred protection mechanism for less overhead and higher throughput; but using the full RTS/CTS will better protect the inner exchange from interference, especially in highly-congested environment. For 6000 series WIFI NIC, RTS/CTS protection mechanism is the recommended choice for HT traffic based on the HW design. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * Libertas: fix issues while configuring host sleep using ethtool wolBing Zhao2009-11-101-3/+2Star
| | | | | | | | | | | | | | | | | | | | Configuration of wake-on-lan for unicast, multicast, broadcast, physical activity was not working. Kernel panic issue was there when user tries to disable WOL. Fixed them. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * Libertas: coding style cleanup in ethtool.cBing Zhao2009-11-101-4/+8
| | | | | | | | | | Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rtl8187: Fix sparse warningsLarry Finger2009-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Due to a missing header include, sparse generates the following warnings: CHECK drivers/net/wireless/rtl818x/rtl8187_rfkill.c warning: symbol 'rtl8187_rfkill_init' was not declared. Should it be static? warning: symbol 'rtl8187_rfkill_poll' was not declared. Should it be static? warning: symbol 'rtl8187_rfkill_exit' was not declared. Should it be static? Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: add LED definition for BenQ Joybook R55vBob Copeland2009-11-101-0/+2
| | | | | | | | | | | | | | Setup the GPIOs for the BenQ Joybook netbook. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: add LED support for HP Compaq CQ60Bob Copeland2009-11-101-0/+2
| | | | | | | | | | | | | | | | Add GPIO configuration for the Compaq CQ60 laptop Reported-by: David Dreggors <ddreggors@jumptv.com> Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: don't reset mcast filter when configuring the modeBob Copeland2009-11-101-1/+0Star
| | | | | | | | | | | | | | | | | | | | | | We should not zero out the multicast hash when configuring the operating mode, since a zero value means all multicast frames will get dropped. Also, ath5k_mode_setup() gets called after any reset, so the hash already set up in configure_filter() is lost. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: update MAINTAINERSIvo van Doorn2009-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | Although I have always been the active maintainer of the rt2x00 drivers, I was not mentioned explicitely in the MAINTAINERS file as such. Update the rt2x00 entry in the MAINTAINERS file to add my name and email address. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: work around a locking issue in ->set_tim()Felix Fietkau2009-11-101-2/+1Star
| | | | | | | | | | | | | | | | | | | | | | ops->set_tim() must be atomic, so b43 trying to acquire a mutex leads to a kernel crash. This patch trades an easy to trigger crash in AP mode for an unlikely race condition. According to Michael, the real fix would be to allow set_tim() to sleep, since b43 is not the only driver that needs to sleep in all callbacks. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ssb-pcmcia: Fix 32bit register access in early bus scanningMartin Fuzzey2009-11-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The scan function was using 32 bit access which does not work on 16bit CF cards. This patch corrects this by doing two 16 bit reads like ssb_pcmcia_read32 already does. mb -- Removed locking. That early in init there's no need for locking. Signed-off-by: Martin Fuzzey <mfuzzey@gmail.com> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | CAN: use dev_get_by_index_rcustephen hemminger2009-11-111-3/+3
| | | | | | | | | | | | | | | | | | Use new function to avoid doing read_lock(). Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: Oliver Hartkopp <oliver@hartkopp.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | IPV4: use rcu to walk list of devices in IGMPstephen hemminger2009-11-111-8/+10
| | | | | | | | | | | | | | | | This also needs to be optimized for large number of devices. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | decnet: use RCU to find network devicesstephen hemminger2009-11-111-8/+6Star
| | | | | | | | | | | | | | | | When showing device statistics use RCU rather than read_lock(&dev_base_lock) Compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | s390: use RCU to walk list of network devicesstephen hemminger2009-11-111-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | This is similar to other cases where for_each_netdev_rcu can be used when gathering information. By inspection, don't have platform or cross-build environment to validate. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: use rcu for network scheduler APIstephen hemminger2009-11-111-3/+4
| | | | | | | | | | | | | | | | | | Use RCU to walk list of network devices in qdisc dump. This could be optimized for large number of devices. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | vlan: eliminate use of dev_base_lockstephen hemminger2009-11-111-7/+6Star
| | | | | | | | | | | | | | | | Do not need to use read_lock(&dev_base_lock), use RCU instead. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | netdev: add netdev_continue_rcustephen hemminger2009-11-112-0/+16
| | | | | | | | | | | | | | | | | | This adds an RCU macro for continuing search, useful for some network devices like vlan. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | IPv6: use ipv6_addr_v4mapped()Brian Haley2009-11-111-1/+1
| | | | | | | | | | | | | | | | | | Change udp6_portaddr_hash() to use ipv6_addr_v4mapped() inline instead of ipv6_addr_type(). Signed-off-by: Brian Haley <brian.haley@hp.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | parisc: led: Use for_each_netdev_rcu()Eric Dumazet2009-11-111-5/+2Star
| | | | | | | | | | | | | | Use for_each_netdev_rcu() and dont lock dev_base_lock anymore Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | sit: Clean up DF code by copying from IPIPHerbert Xu2009-11-111-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch rearranges the SIT DF bit handling using the new IPIP DF code. The only externally visible effect should be the case where PMTU is enabled and the MTU is exactly 1280 bytes. In this case the previous code would send packets out with DF off while the new code would set the DF bit. This is inline with RFC 4213. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Thanks, Signed-off-by: David S. Miller <davem@davemloft.net>
* | ipv6: Allow inet6_dump_addr() to handle more than 64 addressesEric Dumazet2009-11-111-0/+6
| | | | | | | | | | | | | | | | | | Apparently, inet6_dump_addr() is not able to handle more than 64 ipv6 addresses per device. We must break from inner loops in case skb is full, or else cursor is put at the end of list. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ipv6: speedup inet6_dump_ifinfo()Eric Dumazet2009-11-111-17/+28
| | | | | | | | | | | | | | | | | | | | | | When handling large number of netdevice, inet6_dump_ifinfo() is very slow because it has O(N^2) complexity. Instead of scanning one single list, we can use the 256 sub lists of the dev_index hash table, and RCU lookups. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: netlink_getname, packet_getname -- use DECLARE_SOCKADDR guardCyrill Gorcunov2009-11-113-3/+3
| | | | | | | | | | | | | | | | Use guard DECLARE_SOCKADDR in a few more places which allow us to catch if the structure copied back is too big. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | usbnet: Set link down initially for drivers that update link stateBen Hutchings2009-11-115-9/+12
| | | | | | | | | | | | | | | | | | | | | | Some usbnet drivers update link state while others do not due to hardware limitations. Add a flag to distinguish those that do, and set the link down initially for their devices. This is intended to fix this bug: http://bugs.debian.org/444043 Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
* | niu: Use DMA_BIT_MASK(44) instead of deprecated DMA_44BIT_MASKMarin Mitov2009-11-111-5/+1Star
| | | | | | | | | | | | | | Use DMA_BIT_MASK(44) instead of deprecated DMA_44BIT_MASK Signed-off-by: Marin Mitov <mitov@issp.bas.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
* | udp: bind() optimisationEric Dumazet2009-11-114-16/+80
| | | | | | | | | | | | | | | | | | UDP bind() can be O(N^2) in some pathological cases. Thanks to secondary hash tables, we can make it O(N) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: version 1.52.1-4Eilon Greenstein2009-11-111-2/+2
| | | | | | | | | | Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: Change coalescing granularity to 4usEilon Greenstein2009-11-112-7/+8
| | | | | | | | | | Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: Remove misleading error printEilon Greenstein2009-11-111-5/+0Star
| | | | | | | | | | | | | | | | Failing to allocate MSI-X vectors is not an error and should not be printed as such Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: GSO implies CSUM offloadEilon Greenstein2009-11-111-2/+2
| | | | | | | | | | | | | | | | Making sure that whenever the FW/HW is configured for GSO, it is also configured to CSUM offload Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Phonet: allocate and copy for pipe TX without sock lockRémi Denis-Courmont2009-11-111-17/+12Star
| | | | | | | | | | Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Phonet: put sockets in a hash tableRémi Denis-Courmont2009-11-113-25/+56
| | | | | | | | | | Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | speedfax: declare MODULE_FIRMWAREBen Hutchings2009-11-111-0/+1
| | | | | | | | | | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>