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>
This commit is contained in:
parent
4a8189227f
commit
16e711f9ed
|
@ -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
|
||||
|
|
|
@ -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[] = {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue