Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 215051
b: refs/heads/master
c: 52a2a37
h: refs/heads/master
i:
  215049: b7e88f7
  215047: 5df3f4a
v: v3
  • Loading branch information
Juuso Oikarinen authored and Luciano Coelho committed Sep 28, 2010
1 parent b2c14dc commit 0ea7b27
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8c7f4f3166e16bb350bfc53955ea6cf9bfd34aab
refs/heads/master: 52a2a37550b604b3c3c7a044ff72d85b60165659
17 changes: 11 additions & 6 deletions trunk/drivers/net/wireless/wl12xx/wl1271_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -960,15 +960,10 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
return ret;
}

static void wl1271_op_remove_interface(struct ieee80211_hw *hw,
struct ieee80211_vif *vif)
static void __wl1271_op_remove_interface(struct wl1271 *wl)
{
struct wl1271 *wl = hw->priv;
int i;

cancel_work_sync(&wl->scan_complete_work);

mutex_lock(&wl->mutex);
wl1271_debug(DEBUG_MAC80211, "mac80211 remove interface");

wl1271_info("down");
Expand All @@ -994,6 +989,7 @@ static void wl1271_op_remove_interface(struct ieee80211_hw *hw,

mutex_unlock(&wl->mutex);

cancel_work_sync(&wl->scan_complete_work);
cancel_work_sync(&wl->irq_work);
cancel_work_sync(&wl->tx_work);
cancel_delayed_work_sync(&wl->pspoll_work);
Expand Down Expand Up @@ -1039,7 +1035,16 @@ static void wl1271_op_remove_interface(struct ieee80211_hw *hw,
wl->tx_res_if = NULL;
kfree(wl->target_mem_map);
wl->target_mem_map = NULL;
}

static void wl1271_op_remove_interface(struct ieee80211_hw *hw,
struct ieee80211_vif *vif)
{
struct wl1271 *wl = hw->priv;

mutex_lock(&wl->mutex);
WARN_ON(wl->vif != vif);
__wl1271_op_remove_interface(wl);
mutex_unlock(&wl->mutex);
}

Expand Down
6 changes: 6 additions & 0 deletions trunk/drivers/net/wireless/wl12xx/wl1271_scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ void wl1271_scan_complete_work(struct work_struct *work)
wl1271_debug(DEBUG_SCAN, "Scanning complete");

mutex_lock(&wl->mutex);

if (wl->scan.state == WL1271_SCAN_STATE_IDLE) {
mutex_unlock(&wl->mutex);
return;
}

wl->scan.state = WL1271_SCAN_STATE_IDLE;
kfree(wl->scan.scanned_ch);
wl->scan.scanned_ch = NULL;
Expand Down

0 comments on commit 0ea7b27

Please sign in to comment.