diff options
Diffstat (limited to 'drivers/net/can/dev/netlink.c')
| -rw-r--r-- | drivers/net/can/dev/netlink.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/can/dev/netlink.c b/drivers/net/can/dev/netlink.c index 0591406b6f32..6f83b87d54fc 100644 --- a/drivers/net/can/dev/netlink.c +++ b/drivers/net/can/dev/netlink.c @@ -452,7 +452,9 @@ static int can_changelink(struct net_device *dev, struct nlattr *tb[],  	}  	if (data[IFLA_CAN_RESTART_MS]) { -		if (!priv->do_set_mode) { +		unsigned int restart_ms = nla_get_u32(data[IFLA_CAN_RESTART_MS]); + +		if (restart_ms != 0 && !priv->do_set_mode) {  			NL_SET_ERR_MSG(extack,  				       "Device doesn't support restart from Bus Off");  			return -EOPNOTSUPP; @@ -461,7 +463,7 @@ static int can_changelink(struct net_device *dev, struct nlattr *tb[],  		/* Do not allow changing restart delay while running */  		if (dev->flags & IFF_UP)  			return -EBUSY; -		priv->restart_ms = nla_get_u32(data[IFLA_CAN_RESTART_MS]); +		priv->restart_ms = restart_ms;  	}  	if (data[IFLA_CAN_RESTART]) {  | 
