Re: [e1000_netpoll] BUG: sleeping function called from invalid context at kernel/irq/manage.c:110
From: Thomas Gleixner
Date: Thu Jul 28 2016 - 03:47:39 EST
On Tue, 26 Jul 2016, nick wrote:
> diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
> index f42129d..e1830af 100644
> --- a/drivers/net/ethernet/intel/e1000/e1000_main.c
> +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
> @@ -3797,7 +3797,7 @@ static irqreturn_t e1000_intr(int irq, void *data)
> hw->get_link_status = 1;
> /* guard against interrupt when we're going down */
> if (!test_bit(__E1000_DOWN, &adapter->flags))
> - schedule_delayed_work(&adapter->watchdog_task, 1);
> + mod_work(&adapter->watchdog_task, jiffies + 1);
And that's not even funny anymore. Are you using a random generator to create
these patches?