linux-stable/net/ncsi
Samuel Mendoza-Jonas 2878a2cfe5 net/ncsi: Reset channel state in ncsi_start_dev()
When the NCSI driver is stopped with ncsi_stop_dev() the channel
monitors are stopped and the state set to "inactive". However the
channels are still configured and active from the perspective of the
network controller. We should suspend each active channel but in the
context of ncsi_stop_dev() the transmit queue has been or is about to be
stopped so we won't have time to do so.

Instead when ncsi_start_dev() is called if the NCSI topology has already
been probed then call ncsi_reset_dev() to suspend any channels that were
previously active. This resets the network controller to a known state,
provides an up to date view of channel link state, and makes sure that
mode flags such as NCSI_MODE_TX_ENABLE are properly reset.

In addition to ncsi_start_dev() use ncsi_reset_dev() in ncsi-netlink.c
to update the channel configuration more cleanly.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-17 21:09:49 -08:00
..
internal.h net/ncsi: Reset channel state in ncsi_start_dev() 2018-11-17 21:09:49 -08:00
Kconfig net/ncsi: Add NCSI Broadcom OEM command 2018-10-17 22:14:54 -07:00
Makefile net/ncsi: Add generic netlink family 2018-03-05 10:43:37 -05:00
ncsi-aen.c net/ncsi: Don't mark configured channels inactive 2018-11-17 21:09:49 -08:00
ncsi-cmd.c net/ncsi: Extend NC-SI Netlink interface to allow user space to send NC-SI command 2018-10-15 22:00:59 -07:00
ncsi-manage.c net/ncsi: Reset channel state in ncsi_start_dev() 2018-11-17 21:09:49 -08:00
ncsi-netlink.c net/ncsi: Reset channel state in ncsi_start_dev() 2018-11-17 21:09:49 -08:00
ncsi-netlink.h net/ncsi: Extend NC-SI Netlink interface to allow user space to send NC-SI command 2018-10-15 22:00:59 -07:00
ncsi-pkt.h net/ncsi: Add NCSI Broadcom OEM command 2018-10-17 22:14:54 -07:00
ncsi-rsp.c net/ncsi: Add NCSI Broadcom OEM command 2018-10-17 22:14:54 -07:00