From: Eliad Peller Date: Tue, 3 Jul 2012 12:51:20 +0000 (+0300) Subject: wlcore: check ssid length against the correct element X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=faae5aae2d4d7fe976d6ef62c3c209b8990124ac;p=openwrt%2Fstaging%2Fblogic.git 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 --- diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c index b03eb9ae8ebe..dbeca1bfbb2c 100644 --- a/drivers/net/wireless/ti/wlcore/scan.c +++ b/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++) 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)) {