Messages in this thread | | | Date | Sun, 22 Nov 2015 09:51:56 +0100 | From | Dave Penkler <> | Subject | Re: [PATCH v5 5/5] Add ioctls to enable and disable local controls on an instrument |
| |
On Wed, Nov 18, 2015 at 11:41:30AM +0200, Andy Shevchenko wrote: > On Wed, Nov 18, 2015 at 10:38 AM, Dave Penkler <dpenkler@gmail.com> wrote: > > These ioctls provide support for the USBTMC-USB488 control requests > > for REN_CONTROL, GO_TO_LOCAL and LOCAL_LOCKOUT > > Couple of comments below. > > > diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c > > index 2358991..d416a5f 100644 > > --- a/drivers/usb/class/usbtmc.c > > +++ b/drivers/usb/class/usbtmc.c > > @@ -476,6 +476,62 @@ static int usbtmc488_ioctl_read_stb(struct usbtmc_device_data *data,
snip
> > > + if (rv < 0) { > > + dev_err(dev, "simple usb_control_msg failed %d\n", rv); > > + goto exit; > > + } else if (rv != 1) { > > + dev_warn(dev, "simple usb_control_msg returned %d\n", rv); > > Actually here what king of results could be? 0? 2+? In all cases of > error you have to provide an error code. >
We seem to be going round in circles here, last time you suggested to propagate the return value. The non-negative return is the number of bytes transferred which should be 1 unless there is some usb implementation flakiness happening. So I will go back to returning -EIO.
> > + goto exit; > > + } > > + > > + if (buffer[0] != USBTMC_STATUS_SUCCESS) { > > + dev_err(dev, "simple control status returned %x\n", buffer[0]); > > + rv = -EIO; > > + goto exit; > > + } > > + rv = 0; > > + > > + exit: > > + kfree(buffer); > > + return rv; > > +} > > + > > -- > With Best Regards, > Andy Shevchenko cheers, -Dave
| |