@@ -188,14 +188,10 @@ static int vxcan_newlink(struct net *net, struct net_device *dev,
188
188
189
189
/* register peer device */
190
190
if (data && data [VXCAN_INFO_PEER ]) {
191
- struct nlattr * nla_peer ;
191
+ struct nlattr * nla_peer = data [ VXCAN_INFO_PEER ] ;
192
192
193
- nla_peer = data [VXCAN_INFO_PEER ];
194
193
ifmp = nla_data (nla_peer );
195
- err = rtnl_nla_parse_ifinfomsg (peer_tb , nla_peer , extack );
196
- if (err < 0 )
197
- return err ;
198
-
194
+ rtnl_nla_parse_ifinfomsg (peer_tb , nla_peer , extack );
199
195
tbp = peer_tb ;
200
196
}
201
197
@@ -208,9 +204,6 @@ static int vxcan_newlink(struct net *net, struct net_device *dev,
208
204
}
209
205
210
206
peer_net = rtnl_link_get_net (net , tbp );
211
- if (IS_ERR (peer_net ))
212
- return PTR_ERR (peer_net );
213
-
214
207
peer = rtnl_create_link (peer_net , ifname , name_assign_type ,
215
208
& vxcan_link_ops , tbp , extack );
216
209
if (IS_ERR (peer )) {
@@ -302,6 +295,7 @@ static struct rtnl_link_ops vxcan_link_ops = {
302
295
.newlink = vxcan_newlink ,
303
296
.dellink = vxcan_dellink ,
304
297
.policy = vxcan_policy ,
298
+ .peer_type = VXCAN_INFO_PEER ,
305
299
.maxtype = VXCAN_INFO_MAX ,
306
300
.get_link_net = vxcan_get_link_net ,
307
301
};
0 commit comments