From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751585AbdKLQCF (ORCPT ); Sun, 12 Nov 2017 11:02:05 -0500 Received: from m12-13.163.com ([220.181.12.13]:43365 "EHLO m12-13.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751249AbdKLQCD (ORCPT ); Sun, 12 Nov 2017 11:02:03 -0500 From: Pan Bian To: Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Tony Lindgren , Sebastian Reichel , Rob Herring Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Pan Bian Subject: [PATCH] iio: adc: cpcap: fix incorrect validation Date: Mon, 13 Nov 2017 00:01:20 +0800 Message-Id: <1510502480-27117-1-git-send-email-bianpan2016@163.com> X-Mailer: git-send-email 1.9.1 X-CM-TRANSID: DcCowADXjl5ccAha7XvwQA--.19879S3 X-Coremail-Antispam: 1Uf129KBjvdXoW7Xw4DuryfWF48tFyUGrykXwb_yoWDXFc_uw 42gwsrJrs7AFs0vw4Utr4fZFyvkF97JF1kZa4ktFy3u3sxGas3Kw10vF4rXFs7Ww1jqa4U urn5uFZ3C3y3AjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8czVUUUUUU== X-Originating-IP: [106.120.213.14] X-CM-SenderInfo: held01tdqsiiqw6rljoofrz/1tbiQA+OclSIT6qCCgADsB Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Function platform_get_irq_byname() returns a negative error code on failure, and a zero or positive number on success. However, in function cpcap_adc_probe(), positive IRQ numbers are also taken as error cases. Use "if (ddata->irq < 0)" instead of "if (!ddata->irq)" to validate the return value of platform_get_irq_byname(). Signed-off-by: Pan Bian --- drivers/iio/adc/cpcap-adc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/adc/cpcap-adc.c b/drivers/iio/adc/cpcap-adc.c index 6e419d5..f153e026 100644 --- a/drivers/iio/adc/cpcap-adc.c +++ b/drivers/iio/adc/cpcap-adc.c @@ -1012,7 +1012,7 @@ static int cpcap_adc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, indio_dev); ddata->irq = platform_get_irq_byname(pdev, "adcdone"); - if (!ddata->irq) + if (ddata->irq < 0) return -ENODEV; error = devm_request_threaded_irq(&pdev->dev, ddata->irq, NULL, -- 1.9.1