diff options
Diffstat (limited to 'drivers/net/can/dev.c')
-rw-r--r-- | drivers/net/can/dev.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c index 7188137fa08e..e21f7cc5ae4d 100644 --- a/drivers/net/can/dev.c +++ b/drivers/net/can/dev.c | |||
@@ -828,6 +828,9 @@ static int can_validate(struct nlattr *tb[], struct nlattr *data[]) | |||
828 | * - control mode with CAN_CTRLMODE_FD set | 828 | * - control mode with CAN_CTRLMODE_FD set |
829 | */ | 829 | */ |
830 | 830 | ||
831 | if (!data) | ||
832 | return 0; | ||
833 | |||
831 | if (data[IFLA_CAN_CTRLMODE]) { | 834 | if (data[IFLA_CAN_CTRLMODE]) { |
832 | struct can_ctrlmode *cm = nla_data(data[IFLA_CAN_CTRLMODE]); | 835 | struct can_ctrlmode *cm = nla_data(data[IFLA_CAN_CTRLMODE]); |
833 | 836 | ||
@@ -1038,6 +1041,11 @@ static int can_newlink(struct net *src_net, struct net_device *dev, | |||
1038 | return -EOPNOTSUPP; | 1041 | return -EOPNOTSUPP; |
1039 | } | 1042 | } |
1040 | 1043 | ||
1044 | static void can_dellink(struct net_device *dev, struct list_head *head) | ||
1045 | { | ||
1046 | return; | ||
1047 | } | ||
1048 | |||
1041 | static struct rtnl_link_ops can_link_ops __read_mostly = { | 1049 | static struct rtnl_link_ops can_link_ops __read_mostly = { |
1042 | .kind = "can", | 1050 | .kind = "can", |
1043 | .maxtype = IFLA_CAN_MAX, | 1051 | .maxtype = IFLA_CAN_MAX, |
@@ -1046,6 +1054,7 @@ static struct rtnl_link_ops can_link_ops __read_mostly = { | |||
1046 | .validate = can_validate, | 1054 | .validate = can_validate, |
1047 | .newlink = can_newlink, | 1055 | .newlink = can_newlink, |
1048 | .changelink = can_changelink, | 1056 | .changelink = can_changelink, |
1057 | .dellink = can_dellink, | ||
1049 | .get_size = can_get_size, | 1058 | .get_size = can_get_size, |
1050 | .fill_info = can_fill_info, | 1059 | .fill_info = can_fill_info, |
1051 | .get_xstats_size = can_get_xstats_size, | 1060 | .get_xstats_size = can_get_xstats_size, |