[Intel-wired-lan] [PATCH v5] e1000e i219 fix unit hang on reset and runtime D3

Alexander Duyck alexander.h.duyck at redhat.com
Tue Apr 14 00:05:53 UTC 2015


On 04/13/2015 04:20 PM, Yanir Lubetkin wrote:
> unit hang may occur if multiple descriptors are available in the rings during
> reset or runtime suspend. This state can be detected by testing bit 8 in the
> FEXTNVM7 register. if this bit is set and there are pending descriptors in one
> of the rings, we must flush them prior to reset. same applies entering runtime
> suspend.
>
> Signed-off-by: Yanir Lubetkin <yanirx.lubetkin at intel.com>
> ---
>   drivers/net/ethernet/intel/e1000e/ich8lan.h |   5 ++
>   drivers/net/ethernet/intel/e1000e/netdev.c  | 102 ++++++++++++++++++++++++++++
>   drivers/net/ethernet/intel/e1000e/regs.h    |   1 +
>   3 files changed, 108 insertions(+)
>

This looks okay to me.  The BUG_ON seems a bit aggressive but if you 
think you need to do the workaround rather than just avoid it in the 
case of TDT != next_to_use I suppose that works.  I would just suggest 
doing testing with heavy transmit and a link partner flooding flow 
control to see what happens.  That should be the test that would be most 
likely to trigger something like that.

Reviewed-by: Alexander Duyck <alexander.h.duyck at redhat.com>


More information about the Intel-wired-lan mailing list