From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753637AbbBZLKB (ORCPT ); Thu, 26 Feb 2015 06:10:01 -0500 Received: from smtp97.iad3a.emailsrvr.com ([173.203.187.97]:35766 "EHLO smtp97.iad3a.emailsrvr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751216AbbBZLJ7 (ORCPT ); Thu, 26 Feb 2015 06:09:59 -0500 X-Sender-Id: abbotti@mev.co.uk Message-ID: <54EEFF04.2000308@mev.co.uk> Date: Thu, 26 Feb 2015 11:09:56 +0000 From: Ian Abbott User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 MIME-Version: 1.0 To: Nicholas Krause , Hartley Sweeten CC: "gregkh@linuxfoundation.org" , "ravi23ganiga@gmail.com" , "devel@driverdev.osuosl.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] comedi: Change error return code for if statement in the function,cb_pcimdas_ai_rinsn References: <1424837601-23401-1-git-send-email-xerofoify@gmail.com> <03715F59-83C8-45E2-9BB8-6C617979F147@gmail.com> In-Reply-To: <03715F59-83C8-45E2-9BB8-6C617979F147@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 25/02/15 21:37, Nicholas Krause wrote: > > > On February 25, 2015 1:03:14 PM EST, Hartley Sweeten wrote: >> On Tuesday, February 24, 2015 9:13 PM, Nicholas Krause wrote: >>> This changes us using the incorrect error,-ETIMEOUT when checking if >>> the channel we are allocating to on the device structure pointer >> passed >>> to this function is greater then the maximum available channels for >> this >>> device to the correct error for a channel being out of range,-ECHRNG. >>> >>> Signed-off-by: Nicholas Krause >>> --- >>> drivers/staging/comedi/drivers/cb_pcimdas.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/staging/comedi/drivers/cb_pcimdas.c >> b/drivers/staging/comedi/drivers/cb_pcimdas.c >>> index 70dd2c9..d91a6f3 100644 >>> --- a/drivers/staging/comedi/drivers/cb_pcimdas.c >>> +++ b/drivers/staging/comedi/drivers/cb_pcimdas.c >>> @@ -121,7 +121,7 @@ static int cb_pcimdas_ai_rinsn(struct >> comedi_device *dev, >>> maxchans = s->n_chan; >>> >>> if (chan > (maxchans - 1)) >>> - return -ETIMEDOUT; /* *** Wrong error code. Fixme. */ >>> + return -ECHRNG; >>> >>> /* configure for sw initiated read */ >>> d = inb(devpriv->BADR3 + 5); >> >> Hmm... This isn't quite right... >> >> The 16 single-ended / 8 differential analog input channels on this >> board is >> set with a switch on the PCB. The state of the switch should be read >> when >> the driver is attached and the subdevice initialized with the correct >> number >> of channels. The core will then validate the "chan" number before >> calling >> the (*insn_read) operation. >> >> Regards, >> Hartley > Hartley, > If that is the case then why is the check for max channels here. I can send in a v2 removing this check as it seems unneeded based on my understanding and your response to this patch. > Nick > The patch is fine, but now superceded by Hartley's series of patches which has more extensive changes to the driver: http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2015-February/065754.html That set of patches assumes the switches remain in the same state through the lifetime of the device instance, which seems reasonable for a PCI card. -- -=( Ian Abbott @ MEV Ltd. E-mail: )=- -=( Web: http://www.mev.co.uk/ )=-