[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dffd383c-67cc-d7f1-1d2f-8e9bd9090fa8@gmail.com>
Date: Thu, 2 Mar 2017 01:04:31 +0100
From: Gabriel C <nix.or.die@...il.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: Cong Wang <xiyou.wangcong@...il.com>,
lkml <linux-kernel@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>
Subject: Re: e1000_netpoll() , BUG: sleeping function called from invalid
context
>> 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);
>> }
>>
Powered by blists - more mailing lists