devlink: Remove duplicated registration check
Both registered flag and devlink pointer are set at the same time and indicate the same thing - devlink/devlink_port are ready. Instead of checking ->registered use devlink pointer as an indication. Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
35f6986743
commit
d7907a2b1a
@ -55,8 +55,7 @@ struct devlink {
|
||||
* port, sb, dpipe, resource, params, region, traps and more.
|
||||
*/
|
||||
u8 reload_failed:1,
|
||||
reload_enabled:1,
|
||||
registered:1;
|
||||
reload_enabled:1;
|
||||
char priv[0] __aligned(NETDEV_ALIGN);
|
||||
};
|
||||
|
||||
@ -158,7 +157,6 @@ struct devlink_port {
|
||||
struct list_head region_list;
|
||||
struct devlink *devlink;
|
||||
unsigned int index;
|
||||
bool registered;
|
||||
spinlock_t type_lock; /* Protects type and type_dev
|
||||
* pointer consistency.
|
||||
*/
|
||||
|
@ -115,7 +115,7 @@ static void __devlink_net_set(struct devlink *devlink, struct net *net)
|
||||
|
||||
void devlink_net_set(struct devlink *devlink, struct net *net)
|
||||
{
|
||||
if (WARN_ON(devlink->registered))
|
||||
if (WARN_ON(devlink->dev))
|
||||
return;
|
||||
__devlink_net_set(devlink, net);
|
||||
}
|
||||
@ -1043,7 +1043,7 @@ static void devlink_port_notify(struct devlink_port *devlink_port,
|
||||
struct sk_buff *msg;
|
||||
int err;
|
||||
|
||||
if (!devlink_port->registered)
|
||||
if (!devlink_port->devlink)
|
||||
return;
|
||||
|
||||
WARN_ON(cmd != DEVLINK_CMD_PORT_NEW && cmd != DEVLINK_CMD_PORT_DEL);
|
||||
@ -8817,8 +8817,8 @@ EXPORT_SYMBOL_GPL(devlink_alloc);
|
||||
*/
|
||||
int devlink_register(struct devlink *devlink, struct device *dev)
|
||||
{
|
||||
WARN_ON(devlink->dev);
|
||||
devlink->dev = dev;
|
||||
devlink->registered = true;
|
||||
mutex_lock(&devlink_mutex);
|
||||
list_add_tail(&devlink->list, &devlink_list);
|
||||
devlink_notify(devlink, DEVLINK_CMD_NEW);
|
||||
@ -8960,9 +8960,10 @@ int devlink_port_register(struct devlink *devlink,
|
||||
mutex_unlock(&devlink->lock);
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
WARN_ON(devlink_port->devlink);
|
||||
devlink_port->devlink = devlink;
|
||||
devlink_port->index = port_index;
|
||||
devlink_port->registered = true;
|
||||
spin_lock_init(&devlink_port->type_lock);
|
||||
INIT_LIST_HEAD(&devlink_port->reporter_list);
|
||||
mutex_init(&devlink_port->reporters_lock);
|
||||
@ -9001,7 +9002,7 @@ static void __devlink_port_type_set(struct devlink_port *devlink_port,
|
||||
enum devlink_port_type type,
|
||||
void *type_dev)
|
||||
{
|
||||
if (WARN_ON(!devlink_port->registered))
|
||||
if (WARN_ON(!devlink_port->devlink))
|
||||
return;
|
||||
devlink_port_type_warn_cancel(devlink_port);
|
||||
spin_lock_bh(&devlink_port->type_lock);
|
||||
@ -9121,7 +9122,7 @@ void devlink_port_attrs_set(struct devlink_port *devlink_port,
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (WARN_ON(devlink_port->registered))
|
||||
if (WARN_ON(devlink_port->devlink))
|
||||
return;
|
||||
devlink_port->attrs = *attrs;
|
||||
ret = __devlink_port_attrs_set(devlink_port, attrs->flavour);
|
||||
@ -9145,7 +9146,7 @@ void devlink_port_attrs_pci_pf_set(struct devlink_port *devlink_port, u32 contro
|
||||
struct devlink_port_attrs *attrs = &devlink_port->attrs;
|
||||
int ret;
|
||||
|
||||
if (WARN_ON(devlink_port->registered))
|
||||
if (WARN_ON(devlink_port->devlink))
|
||||
return;
|
||||
ret = __devlink_port_attrs_set(devlink_port,
|
||||
DEVLINK_PORT_FLAVOUR_PCI_PF);
|
||||
@ -9172,7 +9173,7 @@ void devlink_port_attrs_pci_vf_set(struct devlink_port *devlink_port, u32 contro
|
||||
struct devlink_port_attrs *attrs = &devlink_port->attrs;
|
||||
int ret;
|
||||
|
||||
if (WARN_ON(devlink_port->registered))
|
||||
if (WARN_ON(devlink_port->devlink))
|
||||
return;
|
||||
ret = __devlink_port_attrs_set(devlink_port,
|
||||
DEVLINK_PORT_FLAVOUR_PCI_VF);
|
||||
@ -9200,7 +9201,7 @@ void devlink_port_attrs_pci_sf_set(struct devlink_port *devlink_port, u32 contro
|
||||
struct devlink_port_attrs *attrs = &devlink_port->attrs;
|
||||
int ret;
|
||||
|
||||
if (WARN_ON(devlink_port->registered))
|
||||
if (WARN_ON(devlink_port->devlink))
|
||||
return;
|
||||
ret = __devlink_port_attrs_set(devlink_port,
|
||||
DEVLINK_PORT_FLAVOUR_PCI_SF);
|
||||
|
Loading…
Reference in New Issue
Block a user