nl80211: Always return NL_SKIP from survey dump handler
Previously, NL_STOP was returned from the survey dump handler if the maximum number of frequencies was reached for storing survey information, but this is causing wpa_supplicant context getting stuck if the current SKB returned by the kernel itself ends with NLMSG_DONE type message. This is due to libnl immediately stopping processing the current SKB upon receiving NL_STOP and not being able to process NLMSG_DONE type message, and due to this wpa_supplicant's finish_handler() not getting called. Fix this by returning NL_SKIP instead while still ignoring all possible additional frequencies. Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
This commit is contained in:
parent
3a995cb5a9
commit
9b233e9f0a
1 changed files with 1 additions and 1 deletions
|
@ -41,7 +41,7 @@ static int get_noise_for_scan_results(struct nl_msg *msg, void *arg)
|
||||||
struct nl80211_noise_info *info = arg;
|
struct nl80211_noise_info *info = arg;
|
||||||
|
|
||||||
if (info->count >= MAX_NL80211_NOISE_FREQS)
|
if (info->count >= MAX_NL80211_NOISE_FREQS)
|
||||||
return NL_STOP;
|
return NL_SKIP;
|
||||||
|
|
||||||
nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
|
nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
|
||||||
genlmsg_attrlen(gnlh, 0), NULL);
|
genlmsg_attrlen(gnlh, 0), NULL);
|
||||||
|
|
Loading…
Reference in a new issue