struct net_device *br_dev;
        int err;
 
+       if (event == SWITCHDEV_PORT_ATTR_SET) {
+               err = switchdev_handle_port_attr_set(dev, ptr,
+                                                    mlxsw_sp_port_dev_check,
+                                                    mlxsw_sp_port_attr_set);
+               return notifier_from_errno(err);
+       }
+
        /* Tunnel devices are not our uppers, so check their master instead */
        br_dev = netdev_master_upper_dev_get_rcu(dev);
        if (!br_dev)
                                                        mlxsw_sp_port_dev_check,
                                                        mlxsw_sp_port_obj_del);
                return notifier_from_errno(err);
+       case SWITCHDEV_PORT_ATTR_SET:
+               err = switchdev_handle_port_attr_set(dev, ptr,
+                                                    mlxsw_sp_port_dev_check,
+                                                    mlxsw_sp_port_attr_set);
+               return notifier_from_errno(err);
        }
 
        return NOTIFY_DONE;