From f9c5c62db1c9bc20f396c3527b5074c4e7f1c275 Mon Sep 17 00:00:00 2001 From: "Lendacky, Thomas" Date: Tue, 9 Dec 2014 14:54:08 -0600 Subject: [PATCH] amd-xgbe: Use disable_irq_nosync when in IRQ context The disable_irq_nosync function, not the disable_irq function, must be used to disable the DMA channel interrupt from within the interrupt service routine. Change the disable_irq call to disable_irq_nosync. Signed-off-by: Tom Lendacky Signed-off-by: David S. Miller --- drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c index bedfdb1c430d..bf6bf1118b0f 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c @@ -396,7 +396,7 @@ static irqreturn_t xgbe_dma_isr(int irq, void *data) */ if (napi_schedule_prep(&channel->napi)) { /* Disable Tx and Rx interrupts */ - disable_irq(channel->dma_irq); + disable_irq_nosync(channel->dma_irq); /* Turn on polling */ __napi_schedule(&channel->napi); -- 2.39.2