diff mbox

nl80211: restore the correct nlmode in case of failed ap scan

Message ID 1421323598-16492-1-git-send-email-eliad@wizery.com
State Superseded
Headers show

Commit Message

Eliad Peller Jan. 15, 2015, 12:06 p.m. UTC
In case of failed ap scan, we try switching the interface
to station mode and scan again. If this scan fails as well,
we change the interface type to the new interface type,
instead of restoring the original one.

This breaks the ht40 scan retry mechanism (as we finally
try to complete the ap setup with station interface).

Signed-off-by: Eliad Peller <eliad@wizery.com>
---
 src/drivers/driver_nl80211_scan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jouni Malinen Jan. 15, 2015, 3:11 p.m. UTC | #1
On Thu, Jan 15, 2015 at 02:06:38PM +0200, Eliad Peller wrote:
> In case of failed ap scan, we try switching the interface
> to station mode and scan again. If this scan fails as well,
> we change the interface type to the new interface type,
> instead of restoring the original one.
> 
> This breaks the ht40 scan retry mechanism (as we finally
> try to complete the ap setup with station interface).

> diff --git a/src/drivers/driver_nl80211_scan.c b/src/drivers/driver_nl80211_scan.c
> @@ -244,7 +244,7 @@ int wpa_driver_nl80211_scan(struct i802_bss *bss,
>  			if (wpa_driver_nl80211_scan(bss, params)) {
> -				wpa_driver_nl80211_set_mode(bss, drv->nlmode);
> +				wpa_driver_nl80211_set_mode(bss, old_mode);
>  				goto fail;
>  			}

That's a good fix, but couple of hours too late.. :)  I fixed that
earlier today with the same change.
diff mbox

Patch

diff --git a/src/drivers/driver_nl80211_scan.c b/src/drivers/driver_nl80211_scan.c
index 20518fe..54dc530 100644
--- a/src/drivers/driver_nl80211_scan.c
+++ b/src/drivers/driver_nl80211_scan.c
@@ -244,7 +244,7 @@  int wpa_driver_nl80211_scan(struct i802_bss *bss,
 				goto fail;
 
 			if (wpa_driver_nl80211_scan(bss, params)) {
-				wpa_driver_nl80211_set_mode(bss, drv->nlmode);
+				wpa_driver_nl80211_set_mode(bss, old_mode);
 				goto fail;
 			}