[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140902.130234.1386697848957363743.davem@davemloft.net>
Date: Tue, 02 Sep 2014 13:02:34 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: ivecera@...hat.com
Cc: netdev@...r.kernel.org, prashant@...adcom.com, mchan@...adcom.com
Subject: Re: [PATCH net v2] tg3: prevent ifup/ifdown during PCI error
recovery
From: Ivan Vecera <ivecera@...hat.com>
Date: Mon, 1 Sep 2014 14:21:57 +0200
> The patch fixes race conditions between PCI error recovery callbacks and
> potential ifup/ifdown.
>
> First, if ifup (tg3_open) is called between tg3_io_error_detected() and
> tg3_io_resume() then tp->timer is armed twice before expiry. Once during
> tg3_open() and again during tg3_io_resume(). This results in BUG
> at kernel/time/timer.c:945.
>
> Second, if ifdown (tg3_close) is called between tg3_io_error_detected()
> and tg3_io_resume() then tg3_napi_disable() is called twice without
> a tg3_napi_enable between. Once during tg3_io_error_detected() and again
> during tg3_close(). The tg3_io_resume() then hangs on rtnl_lock().
>
> v2: Added logging messages per Prashant's request
>
> Cc: Prashant Sreedharan <prashant@...adcom.com>
> Cc: Michael Chan <mchan@...adcom.com>
>
> Signed-off-by: Ivan Vecera <ivecera@...hat.com>
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists