|
@@ -133,13 +133,13 @@ int ipoib_vlan_add(struct net_device *pdev, unsigned short pkey)
|
|
|
snprintf(intf_name, sizeof intf_name, "%s.%04x",
|
|
snprintf(intf_name, sizeof intf_name, "%s.%04x",
|
|
|
ppriv->dev->name, pkey);
|
|
ppriv->dev->name, pkey);
|
|
|
|
|
|
|
|
|
|
+ if (!rtnl_trylock())
|
|
|
|
|
+ return restart_syscall();
|
|
|
|
|
+
|
|
|
priv = ipoib_intf_alloc(ppriv->ca, ppriv->port, intf_name);
|
|
priv = ipoib_intf_alloc(ppriv->ca, ppriv->port, intf_name);
|
|
|
if (!priv)
|
|
if (!priv)
|
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
|
|
- if (!rtnl_trylock())
|
|
|
|
|
- return restart_syscall();
|
|
|
|
|
-
|
|
|
|
|
down_write(&ppriv->vlan_rwsem);
|
|
down_write(&ppriv->vlan_rwsem);
|
|
|
|
|
|
|
|
/*
|
|
/*
|