From b490d249d572b561a4e4bc1de1bb2c5d7ee9cdac Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 28 Jan 2016 20:43:08 +0100 Subject: [PATCH] avoid napi_alloc_frag when called from tasklet Signed-off-by: Felix Fietkau --- mt7603_dma.c | 3 ++- mt76x2_dma.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mt7603_dma.c b/mt7603_dma.c index 43aa93f3..ee5acdc1 100644 --- a/mt7603_dma.c +++ b/mt7603_dma.c @@ -126,6 +126,7 @@ mt7603_process_rx_queue(struct mt7603_dev *dev, struct mt76_queue *q, int budget unsigned char *data; int len; int done = 0; + bool napi = q == &dev->q_rx; while (done < budget) { data = mt76_queue_dequeue(dev, q, false, &len, NULL); @@ -148,7 +149,7 @@ mt7603_process_rx_queue(struct mt7603_dev *dev, struct mt76_queue *q, int budget done++; } - mt76_queue_rx_fill(dev, q, true); + mt76_queue_rx_fill(dev, q, napi); return done; } diff --git a/mt76x2_dma.c b/mt76x2_dma.c index 0eca0a9f..89167eb2 100644 --- a/mt76x2_dma.c +++ b/mt76x2_dma.c @@ -157,6 +157,7 @@ mt76x2_process_rx_queue(struct mt76x2_dev *dev, struct mt76_queue *q, int budget unsigned char *data; int len; int done = 0; + bool napi = q == &dev->q_rx; while (done < budget) { u32 info; @@ -182,7 +183,7 @@ mt76x2_process_rx_queue(struct mt76x2_dev *dev, struct mt76_queue *q, int budget done++; } - mt76_queue_rx_fill(dev, q, true); + mt76_queue_rx_fill(dev, q, napi); return done; }