summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mediatek/mt76/sdio.c
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2020-09-26 17:06:23 +0200
committerFelix Fietkau <nbd@nbd.name>2020-12-04 13:46:13 +0100
commitfefb584d460a17ac68e0b03f0dbb57beb142d1d9 (patch)
treee00847587f64188b3908b0d66278b801ec9f511c /drivers/net/wireless/mediatek/mt76/sdio.c
parente0ad800243291dc34250997ce8b4ab602651522f (diff)
downloadlinux-stable-fefb584d460a17ac68e0b03f0dbb57beb142d1d9.tar.gz
linux-stable-fefb584d460a17ac68e0b03f0dbb57beb142d1d9.tar.bz2
linux-stable-fefb584d460a17ac68e0b03f0dbb57beb142d1d9.zip
mt76: mt7663s: convert txrx_work to mt76_worker
In order to improve driver throughput, convert txrx_work to mt76 worker threads APIs. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/sdio.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/sdio.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/sdio.c b/drivers/net/wireless/mediatek/mt76/sdio.c
index 6eb75ffa9e0f..37e05ec40e1d 100644
--- a/drivers/net/wireless/mediatek/mt76/sdio.c
+++ b/drivers/net/wireless/mediatek/mt76/sdio.c
@@ -66,7 +66,6 @@ void mt76s_stop_txrx(struct mt76_dev *dev)
{
struct mt76_sdio *sdio = &dev->sdio;
- cancel_work_sync(&sdio->txrx_work);
cancel_work_sync(&sdio->status_work);
cancel_work_sync(&sdio->net_work);
cancel_work_sync(&sdio->stat_work);
@@ -256,7 +255,7 @@ static void mt76s_tx_kick(struct mt76_dev *dev, struct mt76_queue *q)
{
struct mt76_sdio *sdio = &dev->sdio;
- queue_work(sdio->txrx_wq, &sdio->txrx_work);
+ mt76_worker_schedule(&sdio->txrx_worker);
}
static const struct mt76_queue_ops sdio_queue_ops = {
@@ -303,6 +302,8 @@ void mt76s_deinit(struct mt76_dev *dev)
struct mt76_sdio *sdio = &dev->sdio;
int i;
+ mt76_worker_teardown(&sdio->txrx_worker);
+
mt76s_stop_txrx(dev);
if (sdio->txrx_wq) {
destroy_workqueue(sdio->txrx_wq);