1. 13 Nov, 2011 7 commits
    • Aarthi Thiruvengadam's avatar
      ath6kl: Fix target minimum length requirement for WMI_SEND_PROBE_RESPONSE_CMDID · bd24a50f
      Aarthi Thiruvengadam authored
      The firmware expects the minimum length of
      WMI_SEND_PROBE_RESPONSE_CMDID to be 13. However, when the device is a
      P2P GO and it needs to send a probe response to a non-P2P client,
      there are no P2P IEs to be added, and therefore the length of the WMI
      command is 12. This command gets rejected by the firmware. To fix
      this, add an extra byte to satisfy the minimum length requirement.
      Signed-off-by: default avatarAarthi Thiruvengadam <athiruve@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      bd24a50f
    • Raja Mani's avatar
      ath6kl: Fix cfg80211 warning while starting IBSS mode · 4eab6f4f
      Raja Mani authored
      When the connect event is received from the target in IBSS mode,
      cfg80211_ibss_joined() is called without informing BSS info to
      cfg80211 layer which internally hits the below WARN_ON message.
      
      WARNING: at net/wireless/ibss.c:33 __cfg80211_ibss_joined+0x153/0x180 [cfg80211]()
      [..]
      [ 4916.845878] Call Trace:
      [ 4916.845889]  [<c10427d2>] warn_slowpath_common+0x72/0xa0
      [ 4916.845905]  [<f8bccc63>] ? __cfg80211_ibss_joined+0x153/0x180 [cfg80211]
      [ 4916.845918]  [<f8bccc63>] ? __cfg80211_ibss_joined+0x153/0x180 [cfg80211]
      [ 4916.845923]  [<c1042822>] warn_slowpath_null+0x22/0x30
      [ 4916.845934]  [<f8bccc63>] __cfg80211_ibss_joined+0x153/0x180 [cfg80211]
      [ 4916.845941]  [<c1025108>] ? default_spin_lock_flags+0x8/0x10
      [ 4916.845952]  [<f8bb7fcd>] cfg80211_process_rdev_events+0x19d/0x220 [cfg80211]
      [ 4916.845962]  [<f8bb669b>] cfg80211_event_work+0x2b/0x50 [cfg80211]
      [ 4916.845968]  [<c105aae6>] process_one_work+0x116/0x3c0
      [ 4916.845977]  [<f8bb6670>] ? cfg80211_get_dev_from_info+0x40/0x40 [cfg80211]
      [ 4916.845982]  [<c105cdf0>] worker_thread+0x140/0x3b0
      [ 4916.845986]  [<c105ccb0>] ? manage_workers+0x1f0/0x1f0
      [ 4916.845991]  [<c1060c64>] kthread+0x74/0x80
      [ 4916.845995]  [<c1060bf0>] ? kthread_worker_fn+0x160/0x160
      [ 4916.846001]  [<c14e7bbe>] kernel_thread_helper+0x6/0x10
      [ 4916.846005] ---[ end trace 769254924e409367 ]---
      
      This patch make sures that BSS info is delivered via cfg80211_inform_bss()
      to cfg80211 in advance before intimating IBSS status to cfg80211.
      
      In addition to this, one debug message is also added to know
      ad-hoc mode status (creator/joiner).
      
      kvalo: change subject
      Signed-off-by: default avatarRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      4eab6f4f
    • Vasanthakumar Thiagarajan's avatar
      ath6kl: Fix packet drop when ath6kl_cookie runs out · 901db39c
      Vasanthakumar Thiagarajan authored
      "ath6kl: Maintain virtual interface in a list" mistakenly stops the
      netq only when the mode is ibss. This causes packet drops in sta mode
      when the available cookies (buffer abstraction in ath6kl and also used
      for tx throttling) runs out for the highest priority traffic. This patch
      just fixes this regression though the original code may still need fixes
      which can be addressed in separate patches.
      Reported-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      901db39c
    • Vasanthakumar Thiagarajan's avatar
      ath6kl: Fix accessing wrong skb->data in ath6kl_tx_complete() · f3803eb2
      Vasanthakumar Thiagarajan authored
      When buffer alignmnet is applied, the data pointer of skb taken from
      cookie will no longer point to the first byte of the actual data.
      But the skb->data pointer is used in ath6kl_tx_complete() to get
      the index of the virtual interface which will not give the correct
      interface index and sometimes may give the following WARN_ON() message.
      Use packet->buf instead of skb->data to fix this.
      
      WARNING: at drivers/net/wireless/ath/ath6kl/wmi.c:88 ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl]()
      Hardware name: 2842K3U
      Modules linked in: ath6kl mmc_block cfg80211 binfmt_misc ppdev nfs nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel
      +snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy thinkpad_acpi snd_seq_oss snd_seq_midi snd_rawmidi joydev fbcon tileblit font bitblit softcursor
      +snd_seq_midi_event snd_seq snd_timer snd_seq_device i915 uvcvideo drm_kms_helper drm psmouse serio_raw snd i2c_algo_bit sdhci_pci videodev intel_agp soundcore intel_gtt jmb38x_ms
      +memstick sdhci snd_page_alloc nvram lp parport agpgart video ahci r8169 mii libahci [last unloaded: ath6kl]
      Pid: 15482, comm: kworker/u:1 Tainted: G        W   3.1.0-rc10-wl+ #2
      Call Trace:
       [<c0144d72>] warn_slowpath_common+0x72/0xa0
       [<fb7c94fb>] ? ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl]
       [<fb7c94fb>] ? ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl]
       [<c0144dc2>] warn_slowpath_null+0x22/0x30
       [<fb7c94fb>] ath6kl_get_vif_by_index+0x5b/0x60 [ath6kl]
       [<fb7c7028>] ath6kl_tx_complete+0x128/0x4d0 [ath6kl]
       [<c04df920>] ? mmc_request_done+0x80/0x80
       [<fb7b9e2e>] htc_tx_complete+0x5e/0x70 [ath6kl]
       [<c05e4cf6>] ? _raw_spin_unlock_bh+0x16/0x20
       [<fb7ce588>] ? ath6kl_sdio_scatter_req_add+0x48/0x60 [ath6kl]
       [<fb7b9f42>] htc_async_tx_scat_complete+0xb2/0x120 [ath6kl]
       [<fb7ce9e7>] ath6kl_sdio_scat_rw+0x87/0x370 [ath6kl]
       [<c0101e12>] ? __switch_to+0xd2/0x190
       [<c01397b5>] ? finish_task_switch+0x45/0xd0
       [<c05e272e>] ? __schedule+0x3ae/0x8b0
       [<fb7cf00a>] ath6kl_sdio_write_async_work+0x4a/0xf0 [ath6kl]
       [<c015d266>] process_one_work+0x116/0x3c0
       [<fb7cefc0>] ? ath6kl_sdio_read_write_sync+0xb0/0xb0 [ath6kl]
       [<c015f5b0>] worker_thread+0x140/0x3b0
       [<c015f470>] ? manage_workers+0x1f0/0x1f0
       [<c0163424>] kthread+0x74/0x80
       [<c01633b0>] ? kthread_worker_fn+0x160/0x160
       [<c05ebdc6>] kernel_thread_helper+0x6/0x10
      Reported-by: default avatarAarthi Thiruvengadam <athiruve@qca.qualcomm.com>
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      f3803eb2
    • Dai Shuibing's avatar
      ath6kl: Indicate WAPI IE from (Re)Association Request frame · 30677ae0
      Dai Shuibing authored
      This is needed to know whether the STA requests WAPI to be used and if
      so, with what AKM and cipher.
      Signed-off-by: default avatarDai Shuibing <shuibing@qca.qualcomm.com>
      Signed-off-by: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      30677ae0
    • Dai Shuibing's avatar
    • Dai Shuibing's avatar
      ath6kl: Add support for configuring SMS4 keys · 5e07021e
      Dai Shuibing authored
      Indicate support for WPI-SMS4 cipher and allow SMS4 keys to be
      configured.
      Signed-off-by: default avatarDai Shuibing <shuibing@qca.qualcomm.com>
      Signed-off-by: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      5e07021e
  2. 11 Nov, 2011 33 commits