summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorVincenzo Maffione <v.maffione@gmail.com>2017-09-16 18:00:00 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-11-21 09:27:41 +0100
commit9b574c3d21460550175a8036c0d15a964ae79774 (patch)
tree74f3023d0fc71e3877aec8522ea82cac5877e618 /tools/perf/scripts/python
parent5637fad6b1462945ccc8bd9734146c93422590fd (diff)
e1000: fix race condition between e1000_down() and e1000_watchdog
[ Upstream commit 44c445c3d1b4eacff23141fa7977c3b2ec3a45c9 ] This patch fixes a race condition that can result into the interface being up and carrier on, but with transmits disabled in the hardware. The bug may show up by repeatedly IFF_DOWN+IFF_UP the interface, which allows e1000_watchdog() interleave with e1000_down(). CPU x CPU y -------------------------------------------------------------------- e1000_down(): netif_carrier_off() e1000_watchdog(): if (carrier == off) { netif_carrier_on(); enable_hw_transmit(); } disable_hw_transmit(); e1000_watchdog(): /* carrier on, do nothing */ Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions