15/04/2021 14:03, Andrew Rybchenko:
> On 4/15/21 2:57 PM, Thomas Monjalon wrote:
> > 15/04/2021 10:15, Andrew Rybchenko:
> >>>   RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_configure, -ENOTSUP);
> >> In theory, the first argument is sufficient to make the ops
> >> check, but I think it is the right solution to keep it as is
> >> since current tendency is to check operation support when
> >> driver callback is really required and we're going to use it.
> >> However, if we do it just after port_id check, we'll have a
> >> way to check for callback support without any side effects
> >> if we provide invalid argument value. I.e. if -ENOTSUP is
> >> returned, callback is not supported, if -EINVAL, callback is
> >> supported (but argument is invalid and nothing done).
> >> However, it looks a bit fragile and not always possible.
> >> Thoughts on it are welcome.
> > Sorry I don't understand it fully.
> > You say we should check for ENOTSUP at the very beginning?
> 
> I'm just trying to consider it and understand if it would be
> right or wrong.

I think it's better to check things when they are required.
If the application does not give the right parameter,
it won't be caught until a supporting device will be used.

If the appplication gives the wrong parameter on purpose,
because it won't be supported, then it's better not calling the function.


Reply via email to