1. 19 Mar, 2015 1 commit
    • Michal Kazior's avatar
      ath10k: strip qos data bit always · 8bad8dcd
      Michal Kazior authored
      
      
      NativeWifi tx mode expects QoS Data frames to be
      delivered as Data frames with QoS part (e.g. tid)
      being delievered out-of-band in fw tx command.
      
      The QoS bit wasn't stripped before submitting to
      firmware.
      
      Stripping fixes two known problems:
      
       * qca6174 IOT with some APs, e.g.
         Cisco AIR-AP 1252 (which would crash after
         ath10k association). Some ath9k APs would
         crash as well.
      
       * sniffing own tx frames via radiotap because,
         e.g. wireshark was seeing QoS bit set but
         since QoS Control was stripped in ath10k it
         would parse beginning of LLC/SNAP
      
      >From debugability point of view this removes the
      ability to distinguish QoS from non-QoS frames
      when sniffing own tx via radiotap. On the other
      hand frames can be now parsed correctly without
      special software modification.
      Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      8bad8dcd
  2. 12 Mar, 2015 5 commits
  3. 07 Mar, 2015 7 commits
  4. 04 Mar, 2015 2 commits
  5. 15 Feb, 2015 4 commits
  6. 04 Feb, 2015 2 commits
    • Michal Kazior's avatar
      ath10k: fix beacon deadlock · af21319f
      Michal Kazior authored
      
      
      This should fix a very rare occurrence of the following deadlock:
      
        [<ffffffffa018265e>] ath10k_wmi_tx_beacons_nowait+0x1e/0x50 [ath10k_core]
        [<ffffffffa01829b6>] ath10k_wmi_op_ep_tx_credits+0x16/0x40 [ath10k_core]
        [<ffffffffa017d685>] ath10k_htc_send+0x285/0x3d0 [ath10k_core]
        [<ffffffffa0184b81>] ath10k_wmi_cmd_send_nowait+0x81/0x110 [ath10k_core]
        [<ffffffffa0184c61>] ath10k_wmi_tx_beacon_nowait.part.33+0x51/0x90 [ath10k_core]
        [<ffffffffa0184cd0>] ath10k_wmi_tx_beacons_iter+0x30/0x40 [ath10k_core]
        [<ffffffff81882246>] __iterate_active_interfaces+0xa6/0x100
        [<ffffffffa0184ca0>] ? ath10k_wmi_tx_beacon_nowait.part.33+0x90/0x90 [ath10k_core]
        [<ffffffff818822ae>] ieee80211_iterate_active_interfaces_atomic+0xe/0x10
        [<ffffffffa0182676>] ath10k_wmi_tx_beacons_nowait+0x36/0x50 [ath10k_core]
        [<ffffffffa01829b6>] ath10k_wmi_op_ep_tx_credits+0x16/0x40 [ath10k_core]
        [<ffffffffa017d140>] ath10k_htc_rx+0x280/0x410 [ath10k_core]
        [<ffffffffa01bcbf0>] ? ath10k_ce_completed_recv_next+0x60/0x80 [ath10k_pci]
        [<ffffffffa01bc6ab>] ath10k_pci_ce_recv_data+0x11b/0x1d0 [ath10k_pci]
        [<ffffffffa01bcf44>] ath10k_ce_per_engine_service+0x64/0xc0 [ath10k_pci]
        [<ffffffffa01bcfc2>] ath10k_ce_per_engine_service_any+0x22/0x50 [ath10k_pci]
        [<ffffffffa01bc4d0>] ath10k_pci_tasklet+0x30/0x90 [ath10k_pci]
        [<ffffffff81055a55>] tasklet_action+0xc5/0x100
      
      To prevent this make sure to release ar->data_lock
      while calling to ath10k_wmi_beacon_send_ref_nowait().
      Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      af21319f
    • SenthilKumar Jegadeesan's avatar
      ath10k: prevent setting wrong key idx for station · 627613f8
      SenthilKumar Jegadeesan authored
      
      
      Ath10k driver sets wrong default key idx that results in
      sending unicast frames with multicast key.
      
      The reason for this behavior is that cached broadcast key
      is installed for station MAC address on association. After
      dot1x completes, unicast key is installed for station
      MAC address. Default key idx is set to broadcast key id when
      driver tries to send broadcast frame. This causes firmware
      to use broadcast key id to transmit unicast frames to stations.
      
      Used TX_USAGE flag to set default key for stations.
      
      Added callback for setting unicast default idx which will be
      invoked on every default key idx configuration.
      Signed-off-by: default avatarSenthilKumar Jegadeesan <sjegadee@qti.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      627613f8
  7. 29 Jan, 2015 4 commits
  8. 27 Jan, 2015 5 commits
  9. 15 Jan, 2015 2 commits
  10. 13 Jan, 2015 2 commits
  11. 23 Dec, 2014 5 commits
  12. 16 Dec, 2014 1 commit
    • Michal Kazior's avatar
      ath10k: advertise p2p dev support · 75d2bd48
      Michal Kazior authored
      
      
      Firmware doesn't allow precise tx rate control so
      P2P wasn't entirely spec compliant (it was using
      CCK rates in some cases).
      
      The only way to make sure firmware doesn't use CCK
      rates is to have a vdev with P2P subtype used for
      scanning and tx. This can be done via a special
      dedicated P2P device interface support.
      
      This also removes the ancient hack from ath10k in
      favor of p2pdev.
      Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      75d2bd48