On Fri, 2014-01-24 at 11:01 +0100, Johannes Berg wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > The scheduled scan matchsets were intended to be a list of filters, > with the found BSS having to pass at least one of them to be passed > to the host. When the RSSI attribute was added, however, this was > broken and currently wpa_supplicant adds that attribute in its own > matchset; however, it doesn't intend that to mean that anything > that passes the RSSI filter should be passed to the host, instead > it wants it to mean that everything needs to also have higher RSSI. > > This is semantically problematic because we have a list of filters > like [ SSID1, SSID2, SSID3, RSSI ] with no real indication which > one should be OR'ed and which one AND'ed. > > To fix this, move the RSSI filter attribute into each matchset. As > we need to stay backward compatible, treat a matchset with only the > RSSI attribute as a "default RSSI filter" for all other matchsets. > > To make driver implementation easier, keep a global min_rssi_thold > for the entire request as well. The only affected driver is ath6kl. > > I found this when I looked into the code after Raja Mani submitted > a patch fixing the n_match_sets calculation to disregard the RSSI, > but that patch didn't address the semantic issue. > > Reported-by: Raja Mani <rmani@xxxxxxxxxxxxxxxx> > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > --- This looks reasonable to me. Acked-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> -- Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html