]> git.baikalelectronics.ru Git - kernel.git/commit
net/ncsi: Choose hot channel as active one if necessary
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Thu, 20 Oct 2016 00:45:51 +0000 (11:45 +1100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Oct 2016 15:23:07 +0000 (11:23 -0400)
commit4367e9837908fc57b4523d7125246a087e270860
tree72f1831b284bfe9d3dd163d6eaf70a42e2231a39
parent2aa25b76f48d285dd27cf25df90de4f389f6129d
net/ncsi: Choose hot channel as active one if necessary

The issue was found on BCM5718 which has two NCSI channels in one
package: C0 and C1. C0 is in link-up state while C1 is in link-down
state. C0 is chosen as active channel until unplugging and plugging
C0's cable:  On unplugging C0's cable, LSC (Link State Change) AEN
packet received on C0 to report link-down event. After that, C1 is
chosen as active channel. LSC AEN for link-up event is lost on C0
when plugging C0's cable back. We lose the network even C0 is usable.

This resolves the issue by recording the (hot) channel that was ever
chosen as active one. The hot channel is chosen to be active one
if none of available channels in link-up state. With this, C0 is still
the active one after unplugging C0's cable. LSC AEN packet received
on C0 when plugging its cable back.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ncsi/internal.h
net/ncsi/ncsi-manage.c