]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "e1000e: Separate signaling for link check/link up"
authorBenjamin Poirier <bpoirier@suse.com>
Tue, 6 Mar 2018 01:55:52 +0000 (10:55 +0900)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 12 Mar 2018 18:34:05 +0000 (11:34 -0700)
commit891e6a7c59dce4b9ee3d437a1279056a911219c3
tree83aecb0bf2f1db774eb592e9a8fd6134f124b7ee
parent633be8cc62b5ad72560d2296737d296f22502a0d
Revert "e1000e: Separate signaling for link check/link up"

This reverts commit da12d12f22819e43bae426bc74e166519d0ea5c8.
This reverts commit 4d62b732a29dfda9a8d6c7e4f56e32371d8b835c.
This reverts commit d3604515c9eda464a92e8e67aae82dfe07fe3c98.

Commit da12d12f2281 ("e1000e: Separate signaling for link check/link up")
changed what happens to the link status when there is an error which
happens after "get_link_status = false" in the copper check_for_link
callbacks. Previously, such an error would be ignored and the link
considered up. After that commit, any error implies that the link is down.

Revert commit da12d12f2281 ("e1000e: Separate signaling for link check/link
up") and its followups. After reverting, the race condition described in
the log of commit da12d12f2281 is reintroduced. It may still be triggered
by LSC events but this should keep the link down in case the link is
electrically unstable, as discussed. The race may no longer be
triggered by RXO events because commit 824544d0a38a ("e1000e: Avoid
receiver overrun interrupt bursts") restored reading icr in the Other
handler.

Link: https://lkml.org/lkml/2018/3/1/789
Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/ich8lan.c
drivers/net/ethernet/intel/e1000e/mac.c
drivers/net/ethernet/intel/e1000e/netdev.c