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-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html