Re: [PATCH V8 04/10] USB: f81232: implement read IIR/MSR with endpoint

From: Johan Hovold
Date: Mon Mar 16 2015 - 04:55:24 EST


On Mon, Mar 16, 2015 at 11:08:29AM +0800, Peter Hung wrote:
> Hello,
>
> Johan Hovold æ 2015/3/14 äå 08:02 åé:
> > On Thu, Feb 26, 2015 at 06:02:10PM +0800, Peter Hung wrote:
> >> + if (status != sizeof(*val)) {
> >> + dev_err(&port->dev, "%s failed status: %d\n", __func__, status);
> >> +
> >> + if (status == 0)
> >> + status = -EIO;
> >> + else
> >> + status = usb_translate_errors(status);
> >
> > Could you rewrite this as
> >
> > if (status < 0)
> > status = usb_translate_errors(status);
> > else
> > status = 0;
>
> In my definition the return value of set/getregister(), 0 is success,
> negative values are errors. The function usb_control_msg() return value
> is success transmited/received byte. It's maybe return 0. I want to
> treat 0 with error(-EIO). But if pass 0 to usb_translate_errors(), It
> will return 0 back. So I need especially handle with status == 0.

I meant to write

if (status < 0)
status = usb_translate_errors(status);
else
status = -EIO;

which I think is more readable.

Sorry for the confusion.

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/