From fb67eec6f8280ecfaed88938389d352fddaf3494 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 25 Nov 2011 17:46:00 +0200 Subject: [PATCH] nl80211: Do not set sched_scan filter if driver does not support it cfg80211 will reject the NL80211_CMD_START_SCHED_SCAN if too many match sets are requested. To avoid being completely unable to start any scheduled scans, skip setting these filters if the driver did not advertise support for large enough number of match sets. Signed-hostap: Jouni Malinen --- src/drivers/driver_nl80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 4bbac1bb0..8f83e8e7a 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -2798,7 +2798,8 @@ static int wpa_driver_nl80211_sched_scan(void *priv, NLA_PUT_U32(msg, NL80211_ATTR_SCHED_SCAN_INTERVAL, interval); - if (drv->num_filter_ssids) { + if (drv->num_filter_ssids && + (int) drv->num_filter_ssids <= drv->capa.max_match_sets) { match_sets = nlmsg_alloc(); for (i = 0; i < drv->num_filter_ssids; i++) {