1. 04 Mar, 2010 7 commits
  2. 03 Mar, 2010 11 commits
  3. 02 Mar, 2010 21 commits
    • Johannes Berg's avatar
      iwlwifi: load firmware asynchronously before mac80211 registration · b08dfd04
      Johannes Berg authored
      At the wireless summit in Portland we discussed a way of
      loading firmware asynchronously from ->probe() before
      registration to mac80211, in order to register with the
      wireless subsystems with complete information in cases
      where firmware is required to know parameters.
      
      This is not yet the case in iwlwifi, but for some new
      features we're working on it will be the case since
      those will only be supported by new firmware images.
      
      Hence, to start with, convert iwlwifi to load firmware
      asynchronously from probe, unbinding the device when
      firmware loading fails, and only registering with the
      wireless subsystems after firmware has been loaded
      successfully.
      
      Future patches will hook into this to register the
      new firmware capabilities, depending on the firmware
      API version.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b08dfd04
    • Johannes Berg's avatar
      ar9170: load firmware asynchronously · 53576517
      Johannes Berg authored
      This converts ar9170 to load firmware asynchronously
      out of ->probe() and only register with mac80211 when
      all firmware has been loaded successfully. If, on the
      other hand, any firmware fails to load, it will now
      unbind from the device.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      53576517
    • Helmut Schaa's avatar
      rt2x00: fix rt2800pci compilation with SoC · 6e93d719
      Helmut Schaa authored
      Compiling rt2800pci with CONFIG_RT2800PCI_SOC fails with "... rt2880pci.c:
      error: incompatible type for argument 2 of 'rt2x00soc_probe'".
      
      Fix this by using &rt2800pci_ops instead of rt2800pci_ops.
      Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6e93d719
    • Bryan Polk's avatar
      rt2x00: Add USB ID for CEIVA adapter to rt73usb · 51b2853f
      Bryan Polk authored
      This adds support for CEIVA USB wireless adapters to the rt73usb driver.
      Signed-off-by: default avatarBryan Polk <sainth@eidolons.org>
      Acked-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      51b2853f
    • Jouni Malinen's avatar
      mac80211: Fix reassociation processing (within ESS roaming) · 9c87ba67
      Jouni Malinen authored
      Commit e1dd33f60ced091114e4aacf141e0d03b88d3e13 changed cfg80211 to
      allow association commands while in associated state to enable support
      for roaming within an ESS. However, this was not enough to resolve all
      cases with mac80211 which needs some additional handling of the
      reassociation case to clear internal state with the BSS that was in use
      previously.
      
      This patch makes ieee80211_mgd_assoc() accept a valid reassociation
      command and clean the association state with the previous BSS. This
      fixes roaming between BSSes in an ESS when using wpa_supplicant with
      -Dnl80211.
      Signed-off-by: default avatarJouni Malinen <j@w1.fi>
      Cc: stable@kernel.org
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9c87ba67
    • Ming Lei's avatar
      ath9k: fix lockdep warning when unloading module · a9f042cb
      Ming Lei authored
      Since txq->axq_lock may be hold in softirq context, it must be
      acquired with spin_lock_bh() instead of spin_lock() if softieq is
      enabled.
      
      The patch fixes the lockdep warning below when unloading ath9k modules.
      
      =================================
      [ INFO: inconsistent lock state ]
      2.6.33-wl #12
      ---------------------------------
      inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
      rmmod/3642 [HC0[0]:SC0[0]:HE1:SE1] takes:
       (&(&txq->axq_lock)->rlock){+.?...}, at: [<ffffffffa03568c3>] ath_tx_node_cleanup+0x62/0x180 [ath9k]
      {IN-SOFTIRQ-W} state was registered at:
        [<ffffffff8107577d>] __lock_acquire+0x2f6/0xd35
        [<ffffffff81076289>] lock_acquire+0xcd/0xf1
        [<ffffffff813a7486>] _raw_spin_lock_bh+0x3b/0x6e
        [<ffffffffa0356b49>] spin_lock_bh+0xe/0x10 [ath9k]
        [<ffffffffa0358ec7>] ath_tx_tasklet+0xcd/0x391 [ath9k]
        [<ffffffffa0354f5f>] ath9k_tasklet+0x70/0xc8 [ath9k]
        [<ffffffff8104e601>] tasklet_action+0x8c/0xf4
        [<ffffffff8104f459>] __do_softirq+0xf8/0x1cd
        [<ffffffff8100ab1c>] call_softirq+0x1c/0x30
        [<ffffffff8100c2cf>] do_softirq+0x4b/0xa3
        [<ffffffff8104f045>] irq_exit+0x4a/0x8c
        [<ffffffff813acccc>] do_IRQ+0xac/0xc3
        [<ffffffff813a7d53>] ret_from_intr+0x0/0x16
        [<ffffffff81302d52>] cpuidle_idle_call+0x9e/0xf8
        [<ffffffff81008be7>] cpu_idle+0x62/0x9d
        [<ffffffff81391c1a>] rest_init+0x7e/0x80
        [<ffffffff818bbd38>] start_kernel+0x3e8/0x3f3
        [<ffffffff818bb2bc>] x86_64_start_reservations+0xa7/0xab
        [<ffffffff818bb3b8>] x86_64_start_kernel+0xf8/0x107
      irq event stamp: 42037
      hardirqs last  enabled at (42037): [<ffffffff813a7b21>] _raw_spin_unlock_irqrestore+0x47/0x56
      hardirqs last disabled at (42036): [<ffffffff813a72f4>] _raw_spin_lock_irqsave+0x2b/0x88
      softirqs last  enabled at (42000): [<ffffffffa0353ea6>] spin_unlock_bh+0xe/0x10 [ath9k]
      softirqs last disabled at (41998): [<ffffffff813a7463>] _raw_spin_lock_bh+0x18/0x6e
      
      other info that might help us debug this:
      4 locks held by rmmod/3642:
       #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff8132c10d>] rtnl_lock+0x17/0x19
       #1:  (&wdev->mtx){+.+.+.}, at: [<ffffffffa01e53f2>] cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211]
       #2:  (&ifmgd->mtx){+.+.+.}, at: [<ffffffffa0260834>] ieee80211_mgd_deauth+0x3f/0x17e [mac80211]
       #3:  (&local->sta_mtx){+.+.+.}, at: [<ffffffffa025a381>] sta_info_destroy_addr+0x2b/0x5e [mac80211]
      
      stack backtrace:
      Pid: 3642, comm: rmmod Not tainted 2.6.33-wl #12
      Call Trace:
       [<ffffffff81074469>] valid_state+0x178/0x18b
       [<ffffffff81014f94>] ? save_stack_trace+0x2f/0x4c
       [<ffffffff81074e08>] ? check_usage_backwards+0x0/0x88
       [<ffffffff8107458f>] mark_lock+0x113/0x230
       [<ffffffff810757f1>] __lock_acquire+0x36a/0xd35
       [<ffffffff8101018d>] ? native_sched_clock+0x2d/0x5f
       [<ffffffffa03568c3>] ? ath_tx_node_cleanup+0x62/0x180 [ath9k]
       [<ffffffff81076289>] lock_acquire+0xcd/0xf1
       [<ffffffffa03568c3>] ? ath_tx_node_cleanup+0x62/0x180 [ath9k]
       [<ffffffff810732eb>] ? trace_hardirqs_off+0xd/0xf
       [<ffffffff813a7193>] _raw_spin_lock+0x36/0x69
       [<ffffffffa03568c3>] ? ath_tx_node_cleanup+0x62/0x180 [ath9k]
       [<ffffffffa03568c3>] ath_tx_node_cleanup+0x62/0x180 [ath9k]
       [<ffffffff810749ed>] ? trace_hardirqs_on+0xd/0xf
       [<ffffffffa0353950>] ath9k_sta_remove+0x22/0x26 [ath9k]
       [<ffffffffa025a08f>] __sta_info_destroy+0x1ad/0x38c [mac80211]
       [<ffffffffa025a394>] sta_info_destroy_addr+0x3e/0x5e [mac80211]
       [<ffffffffa02605d6>] ieee80211_set_disassoc+0x175/0x180 [mac80211]
       [<ffffffffa026084d>] ieee80211_mgd_deauth+0x58/0x17e [mac80211]
       [<ffffffff813a60c1>] ? __mutex_lock_common+0x37f/0x3a4
       [<ffffffffa01e53f2>] ? cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211]
       [<ffffffffa026786e>] ieee80211_deauth+0x1e/0x20 [mac80211]
       [<ffffffffa01f47f9>] __cfg80211_mlme_deauth+0x130/0x13f [cfg80211]
       [<ffffffffa01e53f2>] ? cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211]
       [<ffffffff810732eb>] ? trace_hardirqs_off+0xd/0xf
       [<ffffffffa01f7eee>] __cfg80211_disconnect+0x111/0x189 [cfg80211]
       [<ffffffffa01e5433>] cfg80211_netdev_notifier_call+0x2ce/0x46d [cfg80211]
       [<ffffffff813aa9ea>] notifier_call_chain+0x37/0x63
       [<ffffffff81068c98>] raw_notifier_call_chain+0x14/0x16
       [<ffffffff81322e97>] call_netdevice_notifiers+0x1b/0x1d
       [<ffffffff8132386d>] dev_close+0x6a/0xa6
       [<ffffffff8132395f>] rollback_registered_many+0xb6/0x2f4
       [<ffffffff81323bb8>] unregister_netdevice_many+0x1b/0x66
       [<ffffffffa026494f>] ieee80211_remove_interfaces+0xc5/0xd0 [mac80211]
       [<ffffffffa02580a2>] ieee80211_unregister_hw+0x47/0xe8 [mac80211]
       [<ffffffffa035290e>] ath9k_deinit_device+0x7a/0x9b [ath9k]
       [<ffffffffa035bc26>] ath_pci_remove+0x38/0x76 [ath9k]
       [<ffffffff8120940a>] pci_device_remove+0x2d/0x51
       [<ffffffff8129d797>] __device_release_driver+0x7b/0xd1
       [<ffffffff8129d885>] driver_detach+0x98/0xbe
       [<ffffffff8129ca7a>] bus_remove_driver+0x94/0xb7
       [<ffffffff8129ddd6>] driver_unregister+0x6c/0x74
       [<ffffffff812096d2>] pci_unregister_driver+0x46/0xad
       [<ffffffffa035bae1>] ath_pci_exit+0x15/0x17 [ath9k]
       [<ffffffffa035e1a2>] ath9k_exit+0xe/0x2f [ath9k]
       [<ffffffff8108050a>] sys_delete_module+0x1c7/0x236
       [<ffffffff813a7df5>] ? retint_swapgs+0x13/0x1b
       [<ffffffff810749b5>] ? trace_hardirqs_on_caller+0x119/0x144
       [<ffffffff8109b9f6>] ? audit_syscall_entry+0x11e/0x14a
       [<ffffffff81009bb2>] system_call_fastpath+0x16/0x1b
      wlan1: deauthenticating from 00:23:cd:e1:f9:b2 by local choice (reason=3)
      PM: Removing info for No Bus:wlan1
      cfg80211: Calling CRDA to update world regulatory domain
      PM: Removing info for No Bus:rfkill2
      PM: Removing info for No Bus:phy1
      ath9k 0000:16:00.0: PCI INT A disabled
      Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a9f042cb
    • Dan Carpenter's avatar
      zd1211rw: fix potential array underflow · 86baf712
      Dan Carpenter authored
      The first chunk fixes a debugging assert to print a warning about array underflows.
      The second chunk corrects a potential array underflow.  I also removed an assert
      in the second chunk because it can no longer happen.
      Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
      Acked-by: default avatarBenoit Papillault <benoit.papillault@free.fr>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      86baf712
    • Matthew Garrett's avatar
      rfkill: Add support for KEY_RFKILL · 3082a2b7
      Matthew Garrett authored
      Add support for handling KEY_RFKILL in the rfkill input module. This
      simply toggles the state of all rfkill devices. The comment in rfkill.h
      is also updated to reflect that RFKILL_TYPE_ALL may be used inside the
      kernel.
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3082a2b7
    • Stanislaw Gruszka's avatar
      airo: return from set_wep_key() when key length is zero · 6510b891
      Stanislaw Gruszka authored
      Even if keylen == 0 is a bug and should not really happen, better avoid
      possibility of passing bad value to firmware.
      Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6510b891
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · 3a5b27bf
      Linus Torvalds authored
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (49 commits)
        OMAP: DSS2: Taal: Fix TE when resuming
        OMAP: DSS2: Taal: Fix ESD check
        OMAP: DSS2: OMAPFB: Constify some function parameters
        OMAP: DSS2: OMAPFB: install omapfb.h
        OMAP: DSS2: DSI: add error prints
        OMAP: DSS2: TPO-TD03MTEA1: fix function names
        OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helper
        OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
        OMAP: DSS2: DSI: remove external TE support
        OMAP: DSS2: move timing functions
        OMAP: DSS2: move set/get_wss()
        OMAP: DSS2: move enable/disable/suspend/resume
        OMAP: DSS2: move update() and sync()
        OMAP: DSS2: move set/get_update_mode()
        OMAP: DSS2: move enable/get_te()
        OMAP: DSS2: move get_recommended_bpp()
        OMAP: DSS2: move get_resolution()
        OMAP: DSS2: move enable/disable_channel to overlay manager
        OMAP: DSS2: move wait_vsync()
        OMAP: DSS2: move get/set_rotate()
        ...
      3a5b27bf
    • Linus Torvalds's avatar
      Merge branch 'omap-for-linus' of... · 5057bfaf
      Linus Torvalds authored
      Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
      
      * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (214 commits)
        omap2: Initialize Menelaus and MMC for N8X0
        AM3517 EVM: correct typo - tca6416 mispelt as tca6516
        AM3517 EVM: Enable I2C support
        AM35x: Enable OMAP_MUX in defconfig
        AM35x: Add missing GPIO mux config for EHCI port
        Zoom3: Defconfig update
        omap: i2c: Fix muxing for command line enabled bus
        OMAP4: clock: Remove clock hacks from timer-gp.c
        OMAP4: clock: Add dummy clock nodes for interface clocks
        OMAP4: clock: Rename leaf clock nodes to end with a _ick or _fck
        OMAP2+ clock: revise omap2_clk_{disable,enable}()
        OMAP2/3 clock: combine OMAP2 & 3 boot-time MPU rate change code
        OMAP clockdomain: if no autodeps exist, don't try to add or remove them
        OMAP hwmod: add hwmod class support
        OMAP hwmod: convert header files with static allocations into C files
        OMAP hwmod: convert hwmod to use hardware clock names rather than clkdev dev+con
        OMAP clock: add omap_clk_get_by_name() for use by OMAP hwmod core code
        OMAP3: clock: add capability to change rate of dpll4_m5_ck_3630
        OMAP4 clock: drop the ALWAYS_ENABLED clock flag
        OMAP clock: drop RATE_FIXED clock flag
        ...
      5057bfaf
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 6c0ad5df
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
        Revert "blkdev: fix merge_bvec_fn return value checks"
      6c0ad5df
    • Jens Axboe's avatar
      Revert "blkdev: fix merge_bvec_fn return value checks" · 9599945b
      Jens Axboe authored
      This reverts commit 9f7cdbc3.
      
      It's causing oopses om dm setups, so revert it until we investigate.
      Reported-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Tested-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      9599945b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 · b7f3a209
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6:
        sparc: Support show_unhandled_signals.
        sparc: use __ratelimit
        sunxvr500: Additional PCI id for sunxvr500 driver
        sparc: use asm-generic/scatterlist.h
        sparc64: If 'slot-names' property exist, create sysfs PCI slot information.
        sparc: remove trailing space in messages
        sparc: remove redundant return statements
      b7f3a209
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 · 6d6b89bd
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits)
        virtio_net: remove forgotten assignment
        be2net: fix tx completion polling
        sis190: fix cable detect via link status poll
        net: fix protocol sk_buff field
        bridge: Fix build error when IGMP_SNOOPING is not enabled
        bnx2x: Tx barriers and locks
        scm: Only support SCM_RIGHTS on unix domain sockets.
        vhost-net: restart tx poll on sk_sndbuf full
        vhost: fix get_user_pages_fast error handling
        vhost: initialize log eventfd context pointer
        vhost: logging thinko fix
        wireless: convert to use netdev_for_each_mc_addr
        ethtool: do not set some flags, if others failed
        ipoib: returned back addrlen check for mc addresses
        netlink: Adding inode field to /proc/net/netlink
        axnet_cs: add new id
        bridge: Make IGMP snooping depend upon BRIDGE.
        bridge: Add multicast count/interval sysfs entries
        bridge: Add hash elasticity/max sysfs entries
        bridge: Add multicast_snooping sysfs toggle
        ...
      
      Trivial conflicts in Documentation/feature-removal-schedule.txt
      6d6b89bd
    • Tomi Valkeinen's avatar
      OMAP: DSS2: Taal: Fix TE when resuming · 21df20fc
      Tomi Valkeinen authored
      TE was not initialized properly on power on, which broke TE when resuming
      from suspend.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@nokia.com>
      21df20fc
    • Jiri Pirko's avatar
      virtio_net: remove forgotten assignment · 2507c05f
      Jiri Pirko authored
      This is no longer needed. I missed to remove this in
      567ec874 ("net: convert multiple
      drivers to use netdev_for_each_mc_addr, part6")
      Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2507c05f
    • Sathya Perla's avatar
      be2net: fix tx completion polling · f31e50a8
      Sathya Perla authored
      In tx/mcc polling, napi_complete() is being incorrectly called
      before reaping tx completions. This can cause tx compl processing
      to be scheduled on another cpu concurrently which can result in a panic.
      This if fixed by calling napi complete() after tx/mcc compl processing
      but before re-enabling interrupts (via a cq notify).
      Signed-off-by: default avatarSathya Perla <sathyap@serverengines.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f31e50a8
    • Herton Ronaldo Krzesinski's avatar
      sis190: fix cable detect via link status poll · b88aafd3
      Herton Ronaldo Krzesinski authored
      Some sis190 devices don't report LinkChange, so do polling for
      link status.
      
      Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11926Signed-off-by: default avatarHerton Ronaldo Krzesinski <herton@mandriva.com.br>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b88aafd3
    • Eric Dumazet's avatar
      net: fix protocol sk_buff field · 4ab408de
      Eric Dumazet authored
      Commit e992cd9b (kmemcheck: make bitfield annotations truly no-ops
      when disabled) allows us to revert a workaround we did in the past to
      not add holes in sk_buff structure.
      
      This patch partially reverts commit 14d18a81
      (net: fix kmemcheck annotations) so that sparse doesnt complain:
      
      include/linux/skbuff.h:357:41: error: invalid bitfield specifier for
      type restricted __be16.
      Reported-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4ab408de
    • Sridhar Samudrala's avatar
      bridge: Fix build error when IGMP_SNOOPING is not enabled · 85b35269
      Sridhar Samudrala authored
      Fix the following build error when IGMP_SNOOPING is not enabled.
      In file included from net/bridge/br.c:24:
      net/bridge/br_private.h: In function 'br_multicast_is_router':
      net/bridge/br_private.h:361: error: 'struct net_bridge' has no member named 'multicast_router'
      net/bridge/br_private.h:362: error: 'struct net_bridge' has no member named 'multicast_router'
      net/bridge/br_private.h:363: error: 'struct net_bridge' has no member named 'multicast_router_timer'
      Signed-off-by: default avatarSridhar Samudrala <sri@us.ibm.com>
      Acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85b35269
  4. 01 Mar, 2010 1 commit