From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E883DC433EF for ; Sat, 30 Oct 2021 08:55:47 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AA2AE60F57 for ; Sat, 30 Oct 2021 08:55:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org AA2AE60F57 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=yMkCBEKertkWXF08KcjIFQFv0HTg+MeTxMl56tO9SRQ=; b=Zj8van+9dP+rwQ aJKZjTN0QVzwJOx+orrKt9HiMOkaYd/DQve7UhflYgznUmVZxnB7N4srKPIPV0+D4hS+Q69HGY8tK N4kgZJPoHsV6IBnoTiiZPqkkcLFG58wEdSqWMVeCG48A4Lx/BujQnyPKh9NQo5dAMCkzYwQIO8Tmf QDUVs8z9iFNcihOB1IQo9lruYzkNLw0HlQ+SVqDV+gY1opOzsZqIl/O5XG3I6TXwIpopD9uwvIK+a rhUqRc3znfUSC8e77HtS1qwBbT1T5iDGAXuD8v9LG+e+X3s085xIN1wC8HfqHNla1TojOR4QqyavG VdHuzsfAOOQ8paKA77tQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mgk8I-00Cvas-41; Sat, 30 Oct 2021 08:54:34 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mgk8E-00CvaG-EK for linux-arm-kernel@lists.infradead.org; Sat, 30 Oct 2021 08:54:31 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 866C361038; Sat, 30 Oct 2021 08:54:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1635584070; bh=c52Wntt5s9OoFBF1jdvF7shL8eVEBkvJVgyOd9zNJjU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hFN4OkxWi54pg8ZRryV9msy84nbZgKnUEhVngdxIGo14ykjAwCb/6LVOm0GKF0G1f lUJfpo0PXbFNBP1m6pMQDexQI5UXY2o7zvv48SYBa/u+NTlKx9otZKZ0/4D0KBXYtr SUAijaYJFoV3PZD2z7WTofGK4lguIyGbZuKVSkmM= Date: Sat, 30 Oct 2021 10:54:27 +0200 From: Greg Kroah-Hartman To: Sergey Shtylyov Cc: linux-usb@vger.kernel.org, Alan Stern , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org Subject: Re: [PATCH v2 01/22] usb: host: ehci-exynos: deny IRQ0 Message-ID: References: <20211026173943.6829-1-s.shtylyov@omp.ru> <20211026173943.6829-2-s.shtylyov@omp.ru> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211026173943.6829-2-s.shtylyov@omp.ru> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211030_015430_530110_4667C7C4 X-CRM114-Status: GOOD ( 20.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Oct 26, 2021 at 08:39:22PM +0300, Sergey Shtylyov wrote: > If platform_get_irq() returns IRQ0 (considered invalid according to Linus) > the driver blithely passes it to usb_add_hcd() that treats IRQ0 as no IRQ > at all. Deny IRQ0 right away, returning -EINVAL from the probe() method... > > Fixes: 44ed240d6273 ("usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()") > Signed-off-by: Sergey Shtylyov > Acked-by: Alan Stern > --- > Changes in version 2: > - added Alan's ACK. > > drivers/usb/host/ehci-exynos.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c > index 1a9b7572e17f..ff4e1261801a 100644 > --- a/drivers/usb/host/ehci-exynos.c > +++ b/drivers/usb/host/ehci-exynos.c > @@ -207,6 +207,10 @@ static int exynos_ehci_probe(struct platform_device *pdev) > err = irq; > goto fail_io; > } > + if (!irq) { > + err = -EINVAL; > + goto fail_io; > + } This is a huge sign that the api being used here is broken. Please fix the root cause here, if returning a 0 is an error, then have the function you called to get this irq return an error. Otherwise you will have to fix ALL callers, and people will always get it wrong. Fix the root cause here, don't paper it over. thanks, greg k-h _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel