RDMA/siw: Remove deliver net device event
authorYuyu Li <liyuyu6@huawei.com>
Fri, 22 Nov 2024 10:53:03 +0000 (18:53 +0800)
committerLeon Romanovsky <leon@kernel.org>
Wed, 25 Dec 2024 08:39:46 +0000 (03:39 -0500)
Since the netdev events of link status is now handled in ib_core,
remove the related code in drivers.

In addition, remove sdev->state as it is only used in siw_query_port(),
and it can be replaced by ib_get_curr_port_state().

Signed-off-by: Yuyu Li <liyuyu6@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/sw/siw/siw.h
drivers/infiniband/sw/siw/siw_main.c
drivers/infiniband/sw/siw/siw_verbs.c

index 86d4d6a2170e17f092fb35b73e23e6b0d5ee1d00..f5dc4b3e0e604a56f69f398735ec247c8eac69a9 100644 (file)
@@ -76,9 +76,6 @@ struct siw_device {
        int numa_node;
        char raw_gid[ETH_ALEN];
 
-       /* physical port state (only one port per device) */
-       enum ib_port_state state;
-
        spinlock_t lock;
 
        struct xarray qp_xa;
index 17abef48abcd228d4ddd8998022e2bca822fd528..a9dc20f241ec41a29541d35d08d1a5d11574a0f0 100644 (file)
@@ -380,16 +380,6 @@ static int siw_netdev_event(struct notifier_block *nb, unsigned long event,
        sdev = to_siw_dev(base_dev);
 
        switch (event) {
-       case NETDEV_UP:
-               sdev->state = IB_PORT_ACTIVE;
-               siw_port_event(sdev, 1, IB_EVENT_PORT_ACTIVE);
-               break;
-
-       case NETDEV_DOWN:
-               sdev->state = IB_PORT_DOWN;
-               siw_port_event(sdev, 1, IB_EVENT_PORT_ERR);
-               break;
-
        case NETDEV_REGISTER:
                /*
                 * Device registration now handled only by
@@ -410,7 +400,6 @@ static int siw_netdev_event(struct notifier_block *nb, unsigned long event,
         * Todo: Below netdev events are currently not handled.
         */
        case NETDEV_CHANGEMTU:
-       case NETDEV_CHANGE:
                break;
 
        default:
@@ -443,11 +432,6 @@ static int siw_newlink(const char *basedev_name, struct net_device *netdev)
        if (sdev) {
                dev_dbg(&netdev->dev, "siw: new device\n");
 
-               if (netif_running(netdev) && netif_carrier_ok(netdev))
-                       sdev->state = IB_PORT_ACTIVE;
-               else
-                       sdev->state = IB_PORT_DOWN;
-
                ib_mark_name_assigned_by_user(&sdev->base_dev);
                rv = siw_device_register(sdev, basedev_name);
                if (rv)
index 986666c19378a10ef8d52d31b965a3d3981f6787..592a015cc4c6a09c684cb0862da8d14e2987dab0 100644 (file)
@@ -182,10 +182,10 @@ int siw_query_port(struct ib_device *base_dev, u32 port,
        attr->max_msg_sz = -1;
        attr->max_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
        attr->active_mtu = ib_mtu_int_to_enum(sdev->netdev->mtu);
-       attr->phys_state = sdev->state == IB_PORT_ACTIVE ?
+       attr->state = ib_get_curr_port_state(sdev->netdev);
+       attr->phys_state = attr->state == IB_PORT_ACTIVE ?
                IB_PORT_PHYS_STATE_LINK_UP : IB_PORT_PHYS_STATE_DISABLED;
        attr->port_cap_flags = IB_PORT_CM_SUP | IB_PORT_DEVICE_MGMT_SUP;
-       attr->state = sdev->state;
        /*
         * All zero
         *