Messages in this thread | | | Subject | Re: e1000_netpoll() , BUG: sleeping function called from invalid context | From | Gabriel C <> | Date | Thu, 2 Mar 2017 01:04:31 +0100 |
| |
>> Does the patch below fix it? > > I'll test you patch in a bit and let you know. >
It seem to work.
But to be really sure I let the box running with this setup over night.
>> >> 8<-------------- >> >> --- a/drivers/net/ethernet/intel/e1000e/netdev.c >> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c >> @@ -6716,19 +6716,19 @@ static irqreturn_t e1000_intr_msix(int _ >> >> vector = 0; >> msix_irq = adapter->msix_entries[vector].vector; >> - disable_irq(msix_irq); >> + disable_hardirq(msix_irq); >> e1000_intr_msix_rx(msix_irq, netdev); >> enable_irq(msix_irq); >> >> vector++; >> msix_irq = adapter->msix_entries[vector].vector; >> - disable_irq(msix_irq); >> + disable_hardirq(msix_irq); >> e1000_intr_msix_tx(msix_irq, netdev); >> enable_irq(msix_irq); >> >> vector++; >> msix_irq = adapter->msix_entries[vector].vector; >> - disable_irq(msix_irq); >> + disable_hardirq(msix_irq); >> e1000_msix_other(msix_irq, netdev); >> enable_irq(msix_irq); >> } >>
| |