>> NL80211_ATTR_SCHED_SCAN_MATCH can have >> NL80211_SCHED_SCAN_MATCH_ATTR_SSID >> as well as NL80211_SCHED_SCAN_MATCH_ATTR_RSSI in it. Each nested >> attributes which are part of NL80211_ATTR_SCHED_SCAN_MATCH are counted >> to find out number of match sets in nl80211_start_sched_scan(). >> >> This is the problem if NL80211_SCHED_SCAN_MATCH_ATTR_RSSI also part of >> NL80211_ATTR_SCHED_SCAN_MATCH. Fix this incorrect calculation by >> considering only NL80211_SCHED_SCAN_MATCH_ATTR_SSID to know match set count. > >Err, you failed to explain *why* this is a problem. I'm not even convinced you're right anyway. > >johannes To know match set count, nl80211 should count only NL80211_SCHED_*_ATTR_SSID. Some cases, wpa_supplicant would pass NL80211_SCHED_*_ATTR_RSSI also alone with NL80211_SCHED_*_ATTR_SSID. For example, assume one NL80211_SCHED_*_ATTR_SSID and one NL80211_SCHED_*_ATTR_RSSI passed from wpa_supplicant. In this case, nl80211 count NL80211_SCHED_*_ATTR_RSSI also one of the profile , Finally match set count will be come 2 in this case. (Ideally, match set count should be 1). The same count value is passed to driver, and driver also would assume there are two SSID available in match set array (request->match_sets). But only one SSID is valid in request->match_sets array in this case. Thanks, Raja ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f