Re: [PATCH] tools/iio: iio_event_monitor: Fix ioctl error check
From: Jonathan Cameron
Date: Mon May 03 2021 - 07:05:29 EST
On Wed, 28 Apr 2021 15:33:21 +0000
"Sa, Nuno" <Nuno.Sa@xxxxxxxxxx> wrote:
> > From: Sa, Nuno <Nuno.Sa@xxxxxxxxxx>
> > Sent: Wednesday, April 28, 2021 5:31 PM
> > To: Paul Cercueil <paul@xxxxxxxxxxxxxxx>; Jonathan Cameron
> > <jic23@xxxxxxxxxx>; Lars-Peter Clausen <lars@xxxxxxxxxx>; Peter
> > Meerwald-Stadler <pmeerw@xxxxxxxxxx>
> > Cc: linux-iio@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> > Subject: RE: [PATCH] tools/iio: iio_event_monitor: Fix ioctl error check
> >
> >
> > > From: Paul Cercueil <paul@xxxxxxxxxxxxxxx>
> > > Sent: Wednesday, April 28, 2021 5:08 PM
> > > To: Jonathan Cameron <jic23@xxxxxxxxxx>; Lars-Peter Clausen
> > > <lars@xxxxxxxxxx>; Peter Meerwald-Stadler
> > > <pmeerw@xxxxxxxxxx>
> > > Cc: linux-iio@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Paul
> > > Cercueil <paul@xxxxxxxxxxxxxxx>
> > > Subject: [PATCH] tools/iio: iio_event_monitor: Fix ioctl error check
> > >
> > >
> > > The ioctrl() call will return errno=EINVAL if the device does not
> > > support the events interface, and not ENODEV.
> > >
> > > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx>
> >
> > Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx>
> >
>
> I guess this should have a Fixes: tag...
So, I did a bit of detective work on this one. Seems this change in error
code was actually introduced as a side effect of Alex's recent rework of
the IOCTLs. Prior to that we returned -ENODEV for this case and now
we do indeed return EINVAL.
So we may need to figure out how to fix that, or decide that such is life
and modify this code to give the right error message as done in this patch...
Linus / Alex, thoughts? It's always been a bit messy because we also
return -ENODEV in the path where the ioctl hits a driver that is going away
so it hasn't uniquely identified a lack of support for a long time, even
if that is by far the most likely reason for this return code.
Jonathan
>
> - Nuno Sá