can: dev: register_candev(): bail out if both fixed bit rates and bit timing constant...
[platform/kernel/linux-starfive.git] / drivers / net / can / dev / dev.c
index 3b51055..7f9334a 100644 (file)
@@ -530,6 +530,11 @@ int register_candev(struct net_device *dev)
        if (!priv->data_bitrate_const != !priv->data_bitrate_const_cnt)
                return -EINVAL;
 
+       /* We only support either fixed bit rates or bit timing const. */
+       if ((priv->bitrate_const || priv->data_bitrate_const) &&
+           (priv->bittiming_const || priv->data_bittiming_const))
+               return -EINVAL;
+
        if (!can_bittiming_const_valid(priv->bittiming_const) ||
            !can_bittiming_const_valid(priv->data_bittiming_const))
                return -EINVAL;