Re: [e1000_netpoll] BUG: sleeping function called from invalid context at kernel/irq/manage.c:110

From: Thomas Gleixner
Date: Tue Jul 26 2016 - 05:52:44 EST


On Tue, 26 Jul 2016, Fengguang Wu wrote:
> --- 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_timer(&adapter->watchdog_timer, jiffies + 1);

ROTFL ....