From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753574AbbCPIzU (ORCPT ); Mon, 16 Mar 2015 04:55:20 -0400 Received: from mail-lb0-f175.google.com ([209.85.217.175]:35982 "EHLO mail-lb0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753011AbbCPIzP (ORCPT ); Mon, 16 Mar 2015 04:55:15 -0400 Date: Mon, 16 Mar 2015 09:55:01 +0100 From: Johan Hovold To: Peter Hung Cc: Johan Hovold , gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, tom_tsai@fintek.com.tw, peter_hong@fintek.com.tw, Peter Hung Subject: Re: [PATCH V8 04/10] USB: f81232: implement read IIR/MSR with endpoint Message-ID: <20150316085501.GB14918@localhost> References: <1424944936-7117-1-git-send-email-hpeter+linux_kernel@gmail.com> <1424944936-7117-5-git-send-email-hpeter+linux_kernel@gmail.com> <20150314120231.GD9442@localhost> <5506492D.70001@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5506492D.70001@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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