From 5d4c78fb1f22f68c2c8e7031ce9f00dd3c11e022 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 25 Sep 2013 23:14:41 +0300 Subject: [PATCH] nl80211: Reset nlmode to station on leaving IBSS Previously, IBSS mode (NL80211_IFTYPE_ADHOC) was left in drv->nlmode when leaving IBSS. This causes issues for send_mlme() handler for P2P Probe Response transmission in Listen state. Fix this by clearing nlmode back to NL80211_IFTYPE_STATION on leaving IBSS so that following P2P operations can be executed correctly. Previously, this was fixed only when the next authentication/association attempt in station mode occured. Signed-hostap: Jouni Malinen --- src/drivers/driver_nl80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index ea07e0870..d0ab58c28 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -7525,6 +7525,12 @@ static int nl80211_leave_ibss(struct wpa_driver_nl80211_data *drv) wpa_printf(MSG_DEBUG, "nl80211: Leave IBSS request sent successfully"); nla_put_failure: + if (wpa_driver_nl80211_set_mode(&drv->first_bss, + NL80211_IFTYPE_STATION)) { + wpa_printf(MSG_INFO, "nl80211: Failed to set interface into " + "station mode"); + } + nlmsg_free(msg); return ret; }