|
@@ -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;
|