aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2016-05-23 11:58:28 +1000
committerDavid S. Miller <davem@davemloft.net>2016-05-24 14:47:19 -0700
commit3275c0c6c522ab04afa14f80efdac6213c3883d6 (patch)
treed0f1a33bcf739e4cd444b30b73b5dd53dcd77541 /net/sched/sch_api.c
parentip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit path. (diff)
downloadlinux-dev-3275c0c6c522ab04afa14f80efdac6213c3883d6.tar.xz
linux-dev-3275c0c6c522ab04afa14f80efdac6213c3883d6.zip
net/qlge: Avoids recursive EEH error
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 <shriyakul@in.ibm.com> Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions