Re: [PATCH 2/5] can: bittiming: can_calc_bittiming(): make use of min3()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01.02.2023 18:38:17, Vincent Mailhol wrote:
[...]
> > > > Maybe add a '=' between the phase_seg and the actual number:
> > > >
> > > > | Error: SJW 3 bigger than phase_seg1=6 and/or phase_seg2=2.
> > >
> > > If you ask me my preferences, I will go with column:
> > >
> > >   Error: SJW: 3 bigger than phase_seg1: 6 and/or phase_seg2: 2.
> > >
> > > But I will not complain if you pick anything else.
> >
> > Period looks good.

Now looks like this:

| sudo ip link set flexcan0 txqueuelen 10 type can bitrate 22000000
| Error: bitrate error: 80.5% too high.
| 
| sudo ip link set flexcan0 txqueuelen 10 type can bitrate 2200000 
| Warning: bitrate error: 2.5%.
| 
| sudo ip link set flexcan0 txqueuelen 10 type can bitrate 1000000 sjw 10
| Error: sjw: 10 greater than max sjw: 4.
| 
| sudo ip link set flexcan0 txqueuelen 10 type can prop-seg 3 phase-seg1 1 phase-seg2 8 tq 10  
| Error: resulting brp: 0 less than brp-min: 1.
| 
| sudo ip link set flexcan0 txqueuelen 10 type can prop-seg 3 phase-seg1 4 phase-seg2 4 tq 30 sjw 5
| Error: sjw: 5 greater than max sjw: 4.
| 
| sudo ip link set flexcan0 txqueuelen 10 type can prop-seg 4 phase-seg1 3 phase-seg2 4 tq 30 sjw 4
| Error: sjw: 4 greater than phase-seg1: 3.
| 
| sudo ip link set flexcan0 txqueuelen 10 type can prop-seg 4 phase-seg1 4 phase-seg2 3 tq 30 sjw 4
| Error: sjw: 4 greater than phase-seg2: 3.

> > What about the error value? Always return -EINVAL instead of a mix of
> > -EINVAL and -ERANGE?
> 
> Looking at the comments from uapi/asm-generic/errno-base.h:
> 
>   #define EINVAL 22 /* Invalid argument */
>   #define ERANGE 34 /* Math result not representable */
> 
> We are not dealing with some non-representable math results, so
> -ERANGE is technically incorrect. I did suggest -ERANGE in the past
> because it looks natural to me: we define a min and a max, i.e. its a
> range. But the doc tells me I am wrong. Naming the error -ENAN (Error
> Not A Number) would have been more explicit, but we are not going to
> rewrite UAPI error definitions.
> 
> Go with -EINVAL This answer also applies to your next message and to
> everywhere else in netlink, I guess.

It's -EINVAL everywhere now.

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 |

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux