wlcore: check ssid length against the correct element
authorEliad Peller <eliad@wizery.com>
Tue, 3 Jul 2012 12:51:20 +0000 (15:51 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 10 Jul 2012 16:10:15 +0000 (12:10 -0400)
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>
drivers/net/wireless/ti/wlcore/scan.c

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