1. 31 1月, 2012 1 次提交
  2. 11 1月, 2012 1 次提交
  3. 04 1月, 2012 1 次提交
    • M
      ath9k: Fix kernel panic in AR2427 in AP mode · b25bfda3
      Mohammed Shafi Shajakhan 提交于
      don't do aggregation related stuff for 'AP mode client power save
      handling' if aggregation is not enabled in the driver, otherwise it
      will lead to panic because those data structures won't be never
      intialized in 'ath_tx_node_init' if aggregation is disabled
      
      	EIP is at ath_tx_aggr_wakeup+0x37/0x80 [ath9k]
      	EAX: e8c09a20 EBX: f2a304e8 ECX: 00000001 EDX: 00000000
      	ESI: e8c085e0 EDI: f2a304ac EBP: f40e1ca4 ESP: f40e1c8c
      	DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      	Process swapper/1 (pid: 0, ti=f40e0000 task=f408e860
      	task.ti=f40dc000)
      	Stack:
      	0001e966 e8c09a20 00000000 f2a304ac e8c085e0 f2a304ac
      	f40e1cb0 f8186741
      	f8186700 f40e1d2c f922988d f2a304ac 00000202 00000001
      	c0b4ba43 00000000
      	0000000f e8eb75c0 e8c085e0 205b0001 34383220 f2a304ac
      	f2a30000 00010020
      	Call Trace:
      	[<f8186741>] ath9k_sta_notify+0x41/0x50 [ath9k]
      	[<f8186700>] ? ath9k_get_survey+0x110/0x110 [ath9k]
      	[<f922988d>] ieee80211_sta_ps_deliver_wakeup+0x9d/0x350
      	[mac80211]
      	[<c018dc75>] ? __module_address+0x95/0xb0
      	[<f92465b3>] ap_sta_ps_end+0x63/0xa0 [mac80211]
      	[<f9246746>] ieee80211_rx_h_sta_process+0x156/0x2b0
      	[mac80211]
      	[<f9247d1e>] ieee80211_rx_handlers+0xce/0x510 [mac80211]
      	[<c018440b>] ? trace_hardirqs_on+0xb/0x10
      	[<c056936e>] ? skb_queue_tail+0x3e/0x50
      	[<f9248271>] ieee80211_prepare_and_rx_handle+0x111/0x750
      	[mac80211]
      	[<f9248bf9>] ieee80211_rx+0x349/0xb20 [mac80211]
      	[<f9248949>] ? ieee80211_rx+0x99/0xb20 [mac80211]
      	[<f818b0b8>] ath_rx_tasklet+0x818/0x1d00 [ath9k]
      	[<f8187a75>] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
      	[<f8187a75>] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
      	[<f8187b33>] ath9k_tasklet+0xf3/0x1c0 [ath9k]
      	[<c0151b7e>] tasklet_action+0xbe/0x180
      
      Cc: stable@kernel.org
      Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Reported-by: NAshwin Mendonca <ashwinloyal@gmail.com>
      Tested-by: NAshwin Mendonca <ashwinloyal@gmail.com>
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b25bfda3
  4. 20 12月, 2011 2 次提交
  5. 16 12月, 2011 2 次提交
  6. 08 12月, 2011 6 次提交
  7. 07 12月, 2011 1 次提交
  8. 01 12月, 2011 2 次提交
  9. 10 11月, 2011 1 次提交
  10. 09 11月, 2011 1 次提交
  11. 12 10月, 2011 2 次提交
  12. 04 10月, 2011 1 次提交
    • E
      mac80211: pass vif param to conf_tx() callback · 8a3a3c85
      Eliad Peller 提交于
      tx params should be configured per interface.
      add ieee80211_vif param to the conf_tx callback,
      and change all the drivers that use this callback.
      
      The following spatch was used:
      @rule1@
      struct ieee80211_ops ops;
      identifier conf_tx_op;
      @@
      	ops.conf_tx = conf_tx_op;
      
      @rule2@
      identifier rule1.conf_tx_op;
      identifier hw, queue, params;
      @@
      	conf_tx_op (
      -		struct ieee80211_hw *hw,
      +		struct ieee80211_hw *hw, struct ieee80211_vif *vif,
      		u16 queue,
      		const struct ieee80211_tx_queue_params *params) {...}
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8a3a3c85
  13. 01 10月, 2011 1 次提交
    • J
      mac80211: let drivers inform it about per TID buffered frames · 042ec453
      Johannes Berg 提交于
      For uAPSD implementation, it is necessary to know on
      which ACs frames are buffered. mac80211 obviously
      knows about the frames it has buffered itself, but
      with aggregation many drivers buffer frames. Thus,
      mac80211 needs to be informed about this.
      
      For now, since we don't have APSD in any form, this
      will unconditionally set the TIM bit for the station
      but later with uAPSD only some ACs might cause the
      TIM bit to be set.
      
      ath9k is the only driver using this API and I only
      modify it in the most basic way, it won't be able
      to implement uAPSD with this yet. But it can't do
      that anyway since there's no way to selectively
      release frames to the peer yet.
      
      Since drivers will buffer frames per TID, let them
      inform mac80211 on a per TID basis, mac80211 will
      then sort out the AC mapping itself.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      042ec453
  14. 28 9月, 2011 2 次提交
  15. 20 9月, 2011 1 次提交
  16. 17 9月, 2011 3 次提交
  17. 15 9月, 2011 5 次提交
  18. 14 9月, 2011 1 次提交
    • 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
  19. 30 8月, 2011 1 次提交
  20. 25 8月, 2011 5 次提交