summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
authorKalle Valo2009-08-07 12:35:04 +0200
committerJohn W. Linville2009-08-14 15:13:41 +0200
commit16e711f9ed16e32126270652d79225836a7062cb (patch)
tree51a38780431b1964bce31723c69c03bfab0038b5 /drivers/net/wireless/wl12xx
parentwl1251: move wl1251_acx_wake_up_conditions() to wl1251_ps_set_mode() (diff)
downloadkernel-qcow2-linux-16e711f9ed16e32126270652d79225836a7062cb.tar.gz
kernel-qcow2-linux-16e711f9ed16e32126270652d79225836a7062cb.tar.xz
kernel-qcow2-linux-16e711f9ed16e32126270652d79225836a7062cb.zip
wl1251: use workqueue provided by mac80211
wl1251 should use workqueue created by mac80211 to not block the events workqueue too long. Signed-off-by: Kalle Valo <kalle.valo@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/wl1251_main.c2
-rw-r--r--drivers/net/wireless/wl12xx/wl1251_sdio.c2
-rw-r--r--drivers/net/wireless/wl12xx/wl1251_spi.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c
index 568b640aaa52..c5f2d9dbd1a8 100644
--- a/drivers/net/wireless/wl12xx/wl1251_main.c
+++ b/drivers/net/wireless/wl12xx/wl1251_main.c
@@ -375,7 +375,7 @@ static int wl1251_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
* before that, the tx_work will not be initialized!
*/
- schedule_work(&wl->tx_work);
+ ieee80211_queue_work(wl->hw, &wl->tx_work);
/*
* The workqueue is slow to process the tx_queue and we need stop
diff --git a/drivers/net/wireless/wl12xx/wl1251_sdio.c b/drivers/net/wireless/wl12xx/wl1251_sdio.c
index f7e451fed8b5..20668e244c67 100644
--- a/drivers/net/wireless/wl12xx/wl1251_sdio.c
+++ b/drivers/net/wireless/wl12xx/wl1251_sdio.c
@@ -55,7 +55,7 @@ static void wl1251_sdio_interrupt(struct sdio_func *func)
wl1251_debug(DEBUG_IRQ, "IRQ");
/* FIXME should be synchronous for sdio */
- schedule_work(&wl->irq_work);
+ ieee80211_queue_work(wl->hw, &wl->irq_work);
}
static const struct sdio_device_id wl1251_devices[] = {
diff --git a/drivers/net/wireless/wl12xx/wl1251_spi.c b/drivers/net/wireless/wl12xx/wl1251_spi.c
index 7d1031b7a088..e088334536aa 100644
--- a/drivers/net/wireless/wl12xx/wl1251_spi.c
+++ b/drivers/net/wireless/wl12xx/wl1251_spi.c
@@ -39,7 +39,7 @@ static irqreturn_t wl1251_irq(int irq, void *cookie)
wl = cookie;
- schedule_work(&wl->irq_work);
+ ieee80211_queue_work(wl->hw, &wl->irq_work);
return IRQ_HANDLED;
}