ath6kl: Only use match sets when firmware supports it
authorKyle Roeschley <kyle.roeschley@ni.com>
Wed, 5 Dec 2018 07:43:11 +0000 (09:43 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 20 Dec 2018 07:30:29 +0000 (09:30 +0200)
Commit dd45b7598f1c ("ath6kl: Include match ssid list in scheduled scan")
merged the probed and matched SSID lists before sending them to the
firmware. In the process, it assumed match set support is always available
in ath6kl_set_probed_ssids, which breaks scans for hidden SSIDs. Now, check
that the firmware supports matching SSIDs in scheduled scans before setting
MATCH_SSID_FLAG.

Fixes: dd45b7598f1c ("ath6kl: Include match ssid list in scheduled scan")
Signed-off-by: Kyle Roeschley <kyle.roeschley@ni.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath6kl/cfg80211.c

index e121187f371ff5e023b5efda39af6847b5a2c47a..6c98d7903ffb6f2ea2c912512e5735f0980e7e07 100644 (file)
@@ -939,7 +939,7 @@ static int ath6kl_set_probed_ssids(struct ath6kl *ar,
                else
                        ssid_list[i].flag = ANY_SSID_FLAG;
 
-               if (n_match_ssid == 0)
+               if (ar->wiphy->max_match_sets != 0 && n_match_ssid == 0)
                        ssid_list[i].flag |= MATCH_SSID_FLAG;
        }