Pārlūkot izejas kodu

wlcore: check ssid length against the correct element

commit 587cc28 ("wlcore: compare ssid_len before comparing
ssids") introduced a new bug - the ssid length from the
request struct was compared against the ssid length of
another request, instead the one of the cmd.

This might cause the sched scan request to fail
(with -EINVAL) in many cases.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Eliad Peller 13 gadi atpakaļ
vecāks
revīzija
faae5aae2d
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      drivers/net/wireless/ti/wlcore/scan.c

+ 1 - 1
drivers/net/wireless/ti/wlcore/scan.c

@@ -633,7 +633,7 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl,
 
 
 				for (j = 0; j < cmd->n_ssids; j++)
 				for (j = 0; j < cmd->n_ssids; j++)
 					if ((req->ssids[i].ssid_len ==
 					if ((req->ssids[i].ssid_len ==
-					     req->ssids[j].ssid_len) &&
+					     cmd->ssids[j].len) &&
 					    !memcmp(req->ssids[i].ssid,
 					    !memcmp(req->ssids[i].ssid,
 						   cmd->ssids[j].ssid,
 						   cmd->ssids[j].ssid,
 						   req->ssids[i].ssid_len)) {
 						   req->ssids[i].ssid_len)) {