]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ncsi: Propagate carrier gain/loss events to the NCSI controller
authorJohnathan Mantey <johnathanx.mantey@intel.com>
Fri, 15 Sep 2023 16:12:35 +0000 (09:12 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Oct 2023 12:56:57 +0000 (14:56 +0200)
[ Upstream commit 3780bb29311eccb7a1c9641032a112eed237f7e3 ]

Report the carrier/no-carrier state for the network interface
shared between the BMC and the passthrough channel. Without this
functionality the BMC is unable to reconfigure the NIC in the event
of a re-cabling to a different subnet.

Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/ncsi/ncsi-aen.c

index 62fb1031763d14f82dcfee50191a21cb38ad8cf9..f8854bff286cbd7229e0c543689f892f40e80cab 100644 (file)
@@ -89,6 +89,11 @@ static int ncsi_aen_handler_lsc(struct ncsi_dev_priv *ndp,
        if ((had_link == has_link) || chained)
                return 0;
 
+       if (had_link)
+               netif_carrier_off(ndp->ndev.dev);
+       else
+               netif_carrier_on(ndp->ndev.dev);
+
        if (!ndp->multi_package && !nc->package->multi_channel) {
                if (had_link) {
                        ndp->flags |= NCSI_DEV_RESHUFFLE;