• Kalle Valo's avatar
    wifi: ath11k: mac: fix struct ieee80211_sband_iftype_data handling · 9e61589a
    Kalle Valo authored
    Commit e8c18412 ("wifi: cfg80211: annotate iftype_data pointer with
    sparse") added sparse checks for struct ieee80211_sband_iftype_data handling
    which immediately found an issue in ath11k:
    
    drivers/net/wireless/ath/ath11k/mac.c:7952:22: warning: incorrect type in argument 1 (different address spaces)
    drivers/net/wireless/ath/ath11k/mac.c:7952:22:    expected struct ieee80211_sta_he_cap const *he_cap
    drivers/net/wireless/ath/ath11k/mac.c:7952:22:    got struct ieee80211_sta_he_cap const [noderef] __iftype_data *
    
    The problem here is that we are accessing sband->iftype_data directly even
    though we should use for_each_sband_iftype_data() or similar. Fortunately
    there's ieee80211_get_he_iftype_cap_vif() which is just what we need here so
    use it to get HE capabilities.
    
    Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
    Reported-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/20230927142708.2897504-2-kvalo@kernel.org
    9e61589a
mac.c 260 KB