1. 11 6月, 2013 1 次提交
  2. 04 6月, 2013 1 次提交
  3. 01 6月, 2013 5 次提交
  4. 20 3月, 2013 1 次提交
    • K
      ath6kl: fix size_t printf warnings · 0d4e6717
      Kalle Valo 提交于
      My new tracing code for ath6kl introduced these warnings on 64-bit:
      
      trace.h:38:1: warning: format '%d' expects argument of type 'int',
      	but argument 4 has type 'size_t' [-Wformat]
      trace.h:61:1: warning: format '%d' expects argument of type 'int',
      	but argument 4 has type 'size_t' [-Wformat]
      trace.h:84:1: warning: format '%d' expects argument of type 'int',
      	but argument 6 has type 'size_t' [-Wformat]
      trace.h:119:1: warning: format '%d' expects argument of type 'int',
      	but argument 7 has type 'size_t' [-Wformat]
      trace.h:173:1: warning: format '%d' expects argument of type 'int',
      	but argument 3 has type 'size_t' [-Wformat]
      trace.h:193:1: warning: format '%d' expects argument of type 'int',
      	but argument 5 has type 'size_t' [-Wformat]
      trace.h:221:1: warning: format '%d' expects argument of type 'int',
      	but argument 5 has type 'size_t' [-Wformat]
      
      Fix them by using %zd.
      Reported-by: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0d4e6717
  5. 18 3月, 2013 16 次提交
  6. 09 3月, 2013 1 次提交
  7. 07 3月, 2013 1 次提交
  8. 06 3月, 2013 1 次提交
    • J
      cfg80211: comprehensively check station changes · 77ee7c89
      Johannes Berg 提交于
      The station change API isn't being checked properly before
      drivers are called, and as a result it is difficult to see
      what should be allowed and what not.
      
      In order to comprehensively check the API parameters parse
      everything first, and then have the driver call a function
      (cfg80211_check_station_change()) with the additionally
      information about the kind of station that is being changed;
      this allows the function to make better decisions than the
      old code could.
      
      While at it, also add a few checks, particularly in mesh
      and clarify the TDLS station lifetime in documentation.
      
      To be able to reduce a few checks, ignore any flag set bits
      when the mask isn't set, they shouldn't be applied then.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      77ee7c89
  9. 05 3月, 2013 4 次提交
  10. 12 2月, 2013 2 次提交
  11. 23 1月, 2013 1 次提交
  12. 14 1月, 2013 1 次提交
  13. 28 11月, 2012 5 次提交
    • M
    • M
      ath6kl: Move and rename ath6kl_cleanup_vif function · 355b3a98
      Mohammed Shafi Shajakhan 提交于
      Rename ath6kl_cleanup_vif function as 'ath6kl_cfg80211_vif_stop'
      which is the more appropriate name considering the functionality
      of the module and vif specific cleanup is actually done by
      ath6kl_cfg80211_vif_cleanup. Also move it to cfg80211.c.
      Also make ath6kl_cfg80211_sta_bmiss_enhance as static function.
      This addresses a FIXME/TODO.
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      355b3a98
    • M
      ath6kl: Parse beacon interval from userspace · eb922e4b
      Mohammed Shafi Shajakhan 提交于
      Parse beacon interval from userspace to
      firmware. Incase the firmware does not
      supports it, just print a warning message
      and continue with AP settings.
      
      Cc: Sumathi Mandipati <sumathi@qca.qualcomm.com>
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      eb922e4b
    • M
      ath6kl: trivial cleanup on interface type selection · 8aa659d2
      Mohammed Shafi Shajakhan 提交于
      a minor cleanup in assigning the driver specific network type
      based on interface type.
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8aa659d2
    • M
      ath6kl: Fix kernel panic on continuous driver load/unload · de2070fc
      Mohammed Shafi Shajakhan 提交于
      On continuous loading and unloading of AR6004 ath6kl USB
      driver it triggers a panic due to NULL pointer dereference of
      'target' pointer.
      
      while true; do sudo modprobe -v ath6kl_core;
      sudo modprobe -v ath6kl_usb; sudo modprobe -r usb;
      sudo modprobe -r ath6kl_core; done
      
      ar->htc_target can be NULL due to a race condition that can occur
      during driver initialization(we do 'ath6kl_hif_power_on' before
      initializing 'ar->htc_target' via 'ath6kl_htc_create').
      'ath6kl_hif_power_on' assigns 'ath6kl_recv_complete' as
      usb_complete_t/callback function for 'usb_fill_bulk_urb'.
      Thus the possibility of ar->htc_target being NULL
      via ath6kl_recv_complete -> ath6kl_usb_io_comp_work
      before even 'ath6kl_htc_create' is finished to initialize
      ar->htc_create.
      
      Worth noting is the obvious solution  of doing 'ath6kl_hif_power_on'
      later(i.e after we are done with 'ath6kl_htc_create', causes a
      h/w bring up failure in AR6003 SDIO, as 'ath6kl_hif_power_on' is a
      pre-requisite to get the target version 'ath6kl_bmi_get_target_info'.
      So simply check for NULL pointer for 'ar->htc_target' and bail out.
      
      [23614.518282] BUG: unable to handle kernel NULL pointer dereference at
      00000904
      [23614.518463] IP: [<c012e7a6>] __ticket_spin_trylock+0x6/0x30
      [23614.518570] *pde = 00000000
      [23614.518664] Oops: 0000 [#1] SMP
      [23614.518795] Modules linked in: ath6kl_usb(O+) ath6kl_core(O)
      [23614.520012] EIP: 0060:[<c012e7a6>] EFLAGS: 00010286 CPU: 0
      [23614.520012] EIP is at __ticket_spin_trylock+0x6/0x30
      Call Trace:
      	[<c03f2a44>] do_raw_spin_trylock+0x14/0x40
      	[<c06daa12>] _raw_spin_lock_bh+0x52/0x80
      	[<f85464b4>] ? ath6kl_htc_pipe_rx_complete+0x3b4/0x4c0 [ath6kl_core]
      	[<f85464b4>] ath6kl_htc_pipe_rx_complete+0x3b4/0x4c0 [ath6kl_core]
      	[<c05bc272>] ? skb_dequeue+0x22/0x70
      	[<c05bc272>] ? skb_dequeue+0x22/0x70
      	[<f855bb32>] ath6kl_core_rx_complete+0x12/0x20 [ath6kl_core]
      	[<f848771a>] ath6kl_usb_io_comp_work+0xaa/0xb0 [ath6kl_usb]
      	[<c015b863>] process_one_work+0x1a3/0x5e0
      	[<c015b7e7>] ? process_one_work+0x127/0x5e0
      	[<f8487670>] ? ath6kl_usb_reset_resume+0x30/0x30 [ath6kl_usb]
      	[<c015bfde>] worker_thread+0x11e/0x3f0
      	Kernel panic - not syncing: Fatal exception in interrupt
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      de2070fc