summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2016-10-21 11:47:44 +1100
committerJoel Stanley <joel@jms.id.au>2016-10-21 12:07:27 +1030
commit5cae1c00c02700f3785762cc550d9eccd676d6fb (patch)
tree46b6ed7edbf3906ccf80765e1eeb9836c55641a4 /drivers/usb
parent1bbee7bbaa429b18a9023dac8e5c04cfad275051 (diff)
downloadtalos-obmc-linux-5cae1c00c02700f3785762cc550d9eccd676d6fb.tar.gz
talos-obmc-linux-5cae1c00c02700f3785762cc550d9eccd676d6fb.zip
net/ncsi: Fix stale link state of inactive channels on failover
The issue was found on BCM5718 which has two NCSI channels in one package: C0 and C1. Both of them are connected to different LANs, means they are in link-up state and C0 is chosen as the active one until resetting BCM5718 happens as below. Resetting BCM5718 results in LSC (Link State Change) AEN packet received on C0, meaning LSC AEN is missed on C1. When LSC AEN packet received on C0 to report link-down, it fails over to C1 because C1 is in link-up state as software can see. However, C1 is in link-down state in hardware. It means the link state is out of synchronization between hardware and software, resulting in inappropriate channel (C1) selected as active one. This resolves the issue by sending separate GLS (Get Link Status) commands to all channels in the package before trying to do failover. The last link states of all channels in the package are retrieved. With it, C0 (not C1) is selected as active one as expected. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'drivers/usb')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud