nvethernet: use __napi_schedule_irqoff

ether_tx_chan_isr() and ether_rx_chan_isr() run
from hard interrupt context.

Use napi_schedule_irqoff() instead of napi_schedule()

Bug 200542488

Change-Id: I2f6c8244ac8d0a84a57ba2c05bf512da0c7e3213
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2173462
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Bhadram Varka
2019-08-12 12:14:15 +05:30
committed by Revanth Kumar Uppala
parent e4f82ebb78
commit 9b7d91fdcb

View File

@@ -299,7 +299,7 @@ static irqreturn_t ether_tx_chan_isr(int irq, void *data)
spin_lock_irqsave(&pdata->rlock, flags);
osi_disable_chan_tx_intr(osi_dma, chan);
spin_unlock_irqrestore(&pdata->rlock, flags);
__napi_schedule(&tx_napi->napi);
__napi_schedule_irqoff(&tx_napi->napi);
}
return IRQ_HANDLED;
@@ -343,7 +343,7 @@ static irqreturn_t ether_rx_chan_isr(int irq, void *data)
spin_lock_irqsave(&pdata->rlock, flags);
osi_disable_chan_rx_intr(osi_dma, chan);
spin_unlock_irqrestore(&pdata->rlock, flags);
__napi_schedule(&rx_napi->napi);
__napi_schedule_irqoff(&rx_napi->napi);
}
return IRQ_HANDLED;