On 11.06.2022 16:17:13, Max Staudt wrote: > On Sat, 11 Jun 2022 15:36:08 +0200 > Marc Kleine-Budde wrote: > > > What about this change? > > > > diff --git a/drivers/net/can/dev/netlink.c > > b/drivers/net/can/dev/netlink.c index 7633d98e3912..667ddd28fcdc > > 100644 --- a/drivers/net/can/dev/netlink.c > > +++ b/drivers/net/can/dev/netlink.c > > @@ -176,7 +176,8 @@ static int can_changelink(struct net_device *dev, > > struct nlattr *tb[], > > * directly via do_set_bitrate(). Bail out if neither > > * is given. > > */ > > - if (!priv->bittiming_const && !priv->do_set_bittiming) > > + if (!priv->bittiming_const && !priv->do_set_bittiming > > && > > + !priv->bitrate_const) > > return -EOPNOTSUPP; > > > > memcpy(&bt, nla_data(data[IFLA_CAN_BITTIMING]), > > sizeof(bt)); > > > > If it works I'll make a patch and apply it to net-next/master so that > > you can base your series on this. > > Yes, it seems to work fine, since the dummy function is empty, and it's > only ever used in this same function, and the pointer is guarded as > Vincent mentioned. So if a no-op do_set_bittiming() is okay, then not > having it at all is also okay. Having a no-op do_set_bittiming() just to make can_changelink() happy is not intended. :D > Yes, I'd appreciate you patching this, and I'll rebase upon it :) regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |