diff --git a/drivers/net/can/dev/bittiming.c b/drivers/net/can/dev/bittiming.c index 68287b79afe89159762e1b75ab751e4b3643060c..55714e08ca3addac4b880432456b06534c291283 100644 --- a/drivers/net/can/dev/bittiming.c +++ b/drivers/net/can/dev/bittiming.c @@ -11,8 +11,8 @@ void can_sjw_set_default(struct can_bittiming *bt) if (bt->sjw) return; - /* If user space provides no sjw, use 1 as default */ - bt->sjw = 1; + /* If user space provides no sjw, use sane default of phase_seg2 / 2 */ + bt->sjw = max(1U, min(bt->phase_seg1, bt->phase_seg2 / 2)); } int can_sjw_check(const struct net_device *dev, const struct can_bittiming *bt,