From a31910a8af80ddb701d8ca53e66add1e8bcffde6 Mon Sep 17 00:00:00 2001 From: Eric Nelson Date: Mon, 20 Aug 2012 16:34:58 -0700 Subject: wl12xx_sdio: reset during op_remove_interface --- drivers/net/wireless/wl12xx/main.c | 2 ++ drivers/net/wireless/wl12xx/sdio.c | 1 + 2 files changed, 3 insertions(+) diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 81e31344640f..f1ffec0b3bb6 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c @@ -1767,6 +1767,8 @@ static void wl1271_op_remove_interface(struct ieee80211_hw *hw, mutex_unlock(&wl->mutex); cancel_work_sync(&wl->recovery_work); + if (wl->set_power) + wl->set_power(0); } void wl1271_configure_filters(struct wl1271 *wl, unsigned int filters) diff --git a/drivers/net/wireless/wl12xx/sdio.c b/drivers/net/wireless/wl12xx/sdio.c index 536e5065454b..5bd82f2c15ca 100644 --- a/drivers/net/wireless/wl12xx/sdio.c +++ b/drivers/net/wireless/wl12xx/sdio.c @@ -303,6 +303,7 @@ static int __devinit wl1271_probe(struct sdio_func *func, /* Tell PM core that we don't need the card to be powered now */ pm_runtime_put_noidle(&func->dev); + wl->set_power = wlan_data->set_power; wl1271_notice("initialized"); return 0; -- cgit v1.2.3