From: Gavin Shan <gws...@linux.vnet.ibm.com> Date: Mon, 23 May 2016 11:58:28 +1000
> One timer, whose handler keeps reading on MMIO register for EEH > core to detect error in time, is started when the PCI device driver > is loaded. MMIO register can't be accessed during PE reset in EEH > recovery. Otherwise, the unexpected recursive error is triggered. > The timer isn't closed that time if the interface isn't brought > up. So the unexpected recursive error is seen during EEH recovery > when the interface is down. > > This avoids the unexpected recursive EEH error by closing the timer > in qlge_io_error_detected() before EEH PE reset unconditionally. The > timer is started unconditionally after EEH PE reset in qlge_io_resume(). > Also, the timer should be closed unconditionally when the device is > removed from the system permanently in qlge_io_error_detected(). > > Reported-by: Shriya R. Kulkarni <shriya...@in.ibm.com> > Signed-off-by: Gavin Shan <gws...@linux.vnet.ibm.com> Applied, thanks.