1. 16 9月, 2011 18 次提交
  2. 14 9月, 2011 5 次提交
    • J
      iwlagn: fix command queue timeout · 282cdb32
      Johannes Berg 提交于
      If the command queue is constantly busy,
      which can happen in P2P, the hangcheck
      timer will frequently find a command in
      it and will eventually reset the device
      because nothing sets the timestamp for
      this queue when commands are processed.
      
      Fix this by setting the timestamp when
      a command completes.
      
      Cc: stable@kernel.org #2.6.39, #3.0.0 #3.1.0
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      SIgned-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      282cdb32
    • J
      iwlagn: fix stack corruption · 456fc37e
      Johannes Berg 提交于
      Alexander reported a strange crash in iwlagn that
      Meenakshi and Wey couldn't reproduce. I just ran
      into the same issue and tracked it down to stack
      corruption. This fixes it.
      
      The problem was introduced in
      commit 4b8b99b6e650d0527f3a123744b7459976581d14
      Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
      Date:   Fri Jul 8 14:29:48 2011 -0700
      
          iwlagn: radio sensor offset in le16 format
      
      Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
      Cc: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
      Reported-by: NAlexander Diewald <alex@diewald.cc>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      456fc37e
    • M
      ath9k: Fix kernel panic on unplugging the device · 6a6b3f3e
      Mohammed Shafi Shajakhan 提交于
      when the device is yanked out ath_pci_remove starts doing the cleanups,
      unregistering the hardware etc. so we should bail out immediately when
      we get drv_flush callback from mac80211 when the card is being unplugged.
      the panic occurs after we had associated to an AP.
      
      	EIP: 0060:[<fb315b00>] EFLAGS: 00010246 CPU: 0
      	EIP is at ath_reset+0xa0/0x1c0 [ath9k]
      	EAX: 00000000 EBX: 000697c0 ECX: 00000002 EDX: f3c3ccf0
      	ESI: 00000000 EDI: 00000000 EBP: f43e7b78 ESP: f43e7b50
       	DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
       	Process kworker/u:2 (pid: 182, ti=f43e6000 task=f3c3c7c0
      	task.ti=f43e6000)
       	Stack:
       	0000002a 00000000 00000000 003e7b78 0000000f eaaa8500
      	ffffffea eaaa97c0
       	eaaaa000 00000001 f43e7ba8 fb315d23 f99e7721 ecece680
      	eaaac738 eaaa8500
       	eaaaa020 000000c8 000000c8 00000000 eaaa8d58 eaaa8500
      	f43e7bd0 fb080b29
       	Call Trace:
      	[<fb315d23>] ath9k_flush+0x103/0x170 [ath9k]
      	[<fb080b29>] __ieee80211_recalc_idle+0x2c9/0x400
      	[mac80211]
      	[<fb080c8e>] ieee80211_recalc_idle+0x2e/0x60 [mac80211]
      	[<fb07aa73>] ieee80211_mgd_deauth+0x173/0x210 [mac80211]
      	[<fb084559>] ieee80211_deauth+0x19/0x20 [mac80211]
      	[<f99dda53>] __cfg80211_mlme_deauth+0xf3/0x140
      	[cfg80211]
      	[<c0633d00>] ? __mutex_lock_common+0x1f0/0x380
      	[<f99e1b5d>] __cfg80211_disconnect+0x18d/0x1f0
      	[cfg80211]
      	[<f99c8199>] cfg80211_netdev_notifier_call+0x159/0x5c0
      	[cfg80211]
      	[<c0608a64>] ? packet_notifier+0x174/0x1f0
      	[<c0639202>] notifier_call_chain+0x82/0xb0
      	[<c0170d8f>] raw_notifier_call_chain+0x1f/0x30
      	[<c053b86c>] call_netdevice_notifiers+0x2c/0x60
      	[<c0182184>] ? trace_hardirqs_on_caller+0xf4/0x180
      	[<c053b8ec>] __dev_close_many+0x4c/0xd0
      	[<c053ba2d>] dev_close_many+0x6d/0xc0
      	[<c053bb53>] rollback_registered_many+0x93/0x1c0
      	[<c018221b>] ? trace_hardirqs_on+0xb/0x10
      	[<c053bc95>] unregister_netdevice_many+0x15/0x50
      	[<fb07f83b>] ieee80211_remove_interfaces+0x7b/0xb0
      	[mac80211]
      	[<fb06a14b>] ieee80211_unregister_hw+0x4b/0x110
      	[mac80211]
      	[<fb311a4a>] ath9k_deinit_device+0x3a/0x60 [ath9k]
      	[<fb31eed6>] ath_pci_remove+0x46/0x90 [ath9k]
      	[<c03b4ac4>] pci_device_remove+0x44/0x100
      	[<c043eb54>] __device_release_driver+0x64/0xb0
      	[<c043ec67>] device_release_driver+0x27/0x40
      	[<c043deeb>] bus_remove_device+0x7b/0xa0
      	[<c043c491>] device_del+0xf1/0x180
      	[<c043c530>] device_unregister+0x10/0x20
      	[<c03afafe>] pci_stop_bus_device+0x6e/0x80
      	[<c03afb72>] pci_remove_bus_device+0x12/0xa0
      	[<c03c2f29>] pciehp_unconfigure_device+0x89/0x180
      	[<c0181e54>] ? mark_held_locks+0x64/0x100
      	[<c063390f>] ? __mutex_unlock_slowpath+0xaf/0x140
      	[<c03c1f84>] pciehp_disable_slot+0x64/0x1b0
      	[<c03c2850>] pciehp_power_thread+0xd0/0x100
      	[<c0164ad0>] ? process_one_work+0x100/0x4d0
      	[<c0164b4c>] process_one_work+0x17c/0x4d0
      	[<c0164ad0>] ? process_one_work+0x100/0x4d0
      	[<c03c2780>] ? queue_interrupt_event+0xa0/0xa0
      	[<c01662bb>] worker_thread+0x13b/0x320
      	[<c018221b>] ? trace_hardirqs_on+0xb/0x10
      	[<c0166180>] ? manage_workers+0x1e0/0x1e0
      	[<c016a654>] kthread+0x84/0x90
      	[<c016a5d0>] ? __init_kthread_worker+0x60/0x60
      	[<c063d106>] kernel_thread_helper+0x6/0x10
      
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6a6b3f3e
    • G
      rtlwifi: Fix problem when switching connections · bac2555c
      George 提交于
      The driver fails to clear encryption keys making it impossible
      to switch connections.
      Signed-off-by: NGeorge <george0505@realtek.com>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>        [2.6.39+]
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      bac2555c
    • G
      rtlwifi: rtl8192su: Fix problem connecting to HT-enabled AP · 3401dc6e
      George 提交于
      The driver fails to connect to 802.11n-enabled APs. The patch fixes
      Bug #42262.
      Signed-off-by: NGeorge <george0505@realtek.com>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>        [2.6.39+]
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3401dc6e
  3. 31 8月, 2011 1 次提交
  4. 30 8月, 2011 2 次提交
  5. 27 8月, 2011 5 次提交
  6. 25 8月, 2011 3 次提交
  7. 24 8月, 2011 3 次提交
    • L
      wl12xx: add max_sched_scan_ssids value to the hw description · 7a5e4877
      Luciano Coelho 提交于
      After commit 5a865bad, we require a separate value to indicate the
      number of supported SSIDs in scheduled scans.  This patch adds a
      proper value to the wl12xx driver.
      
      This fixes a regression in 3.1-rc3 where scheduled scans were not
      working properly with the wl12xx driver.
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7a5e4877
    • I
      wl12xx: Fix validation of pm_runtime_get_sync return value · a15f1c45
      Ido Yariv 提交于
      wl1271_sdio_power_on checks if the return value of pm_runtime_get_sync
      is non-zero, and if so bails out.
      However, pm_runtime_get_sync can return a positive number which does not
      suggest an error has occurred. This is problematic for two reasons:
      
      1. The function will needlessly bail out without decrementing back the
         runtime PM reference counter.
      2. wl1271_power_on only checks if wl1271_power_on return value is
         negative. This means that wl1271_power_on will continue even if
         wl1271_sdio_power_on bailed out. As a result, sdio transactions will
         be initiated without properly enabling the sdio function and claiming
         the host. This could even lead to a kernel panic.
      
      Fix this by only checking that the return value of pm_runtime_get_sync
      is non-negative.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Acked-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a15f1c45
    • I
      wl12xx: Remove obsolete testmode NVS push command · 80900d01
      Ido Yariv 提交于
      The testmode NVS push command is no longer in use. In addition, it has
      several implementation issues that prevent it from working correctly:
      
      1. wl1271_tm_cmd_configure relies on wl->chip.id being set. However,
         since the device was not necessarily booted by the time the function
         is called, wl->chip.id will be initialized to 0.
      2. The NVS file is fetched by calling request_firmware() before it is
         possible to push an NVS file.
      3. The maximum allowed size of nl binary payloads is not sufficient for
         pushing NVS files.
      4. Pushing 128x NVS files will always fail due to a bug in the
         validation code.
      5. In case the pushed NVS file is found invalid, the mutex will be kept
         locked and the nvs member will become a dangling pointer.
      
      Since this feature is not being used, remove it completely instead of
      fixing it.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Acked-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      80900d01
  8. 23 8月, 2011 3 次提交