e1000e: i219 fix unit hang on reset and runtime D3
authorYanir Lubetkin <yanirx.lubetkin@intel.com>
Mon, 13 Apr 2015 23:20:21 +0000 (02:20 +0300)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 3 Jun 2015 10:10:20 +0000 (03:10 -0700)
commitad851fbb73a3d6564707281aa253418ef6aab878
tree2c388d98b3a548b96797074978ce3271c993a9b3
parentdf905ceae3883f024282d00824ce33040097ac86
e1000e: i219 fix unit hang on reset and runtime D3

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@intel.com>
Reviewed-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/ich8lan.h
drivers/net/ethernet/intel/e1000e/netdev.c
drivers/net/ethernet/intel/e1000e/regs.h