diff options
author | Eliad Peller <eliad@wizery.com> | 2011-12-18 20:25:44 +0200 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-12-20 22:30:15 +0200 |
commit | b890f4c363ebdc9c38d7f1ec91e9ec0976c4fb6a (patch) | |
tree | dd12415d36bf14d52abb218b73a416ddba44af39 /drivers | |
parent | 92e712da55b2e5776fee7e177e789c01828a1bf4 (diff) |
wl12xx: stop device role on remove_interface
When removing a sta/ibss role, the device role has to
stopped (and disabled) as well.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 77493cc38714..0719fc82d55f 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c @@ -2189,7 +2189,11 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl, if (ret < 0) goto deinit; - if (wlvif->bss_type == BSS_TYPE_STA_BSS) { + if (wlvif->bss_type == BSS_TYPE_STA_BSS || + wlvif->bss_type == BSS_TYPE_IBSS) { + if (wl12xx_dev_role_started(wlvif)) + wl12xx_stop_dev(wl, wlvif); + ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id); if (ret < 0) goto deinit; |