wcn36xx: pass correct BSS index when deleting BSS keys
authorDaniel Mack <daniel@zonque.org>
Thu, 19 Apr 2018 16:40:11 +0000 (19:40 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Apr 2018 05:57:05 +0000 (08:57 +0300)
commit0fc8bb50bbfc82d113218c803e1965838dcdbc89
treeb8edc8626f4853253d23e0532d7509f1d62049b4
parentfa3440fa2fa1531fb2aafb6d51f2bc5ac70a6247
wcn36xx: pass correct BSS index when deleting BSS keys

The firmware message to delete BSS keys expects a BSS index to be passed.
This field is currently hard-coded to 0. Fix this by passing in the index
we received from the firmware when the BSS was configured.

The encryption type in that message also needs to be set to what was used
when the key was set, so the assignment of vif_priv->encrypt_type is now
done after the firmware command was sent. This reportedly fixes the
following error in AP mode:

  wcn36xx: ERROR hal_remove_bsskey response failed err=6

Also, AFAIU, when a BSS is deleted, the firmware apparently drops all the
keys associated with it. Trying to remove the key explicitly afterwards
will hence lead to the following message:

  wcn36xx: ERROR hal_remove_bsskey response failed err=16

This is now suppressed with an extra check for the BSS index validity.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wcn36xx/main.c
drivers/net/wireless/ath/wcn36xx/smd.c
drivers/net/wireless/ath/wcn36xx/smd.h