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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7240C76196 for ; Tue, 28 Mar 2023 09:51:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233028AbjC1JvL (ORCPT ); Tue, 28 Mar 2023 05:51:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232620AbjC1Jue (ORCPT ); Tue, 28 Mar 2023 05:50:34 -0400 Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com [IPv6:2607:f8b0:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23E976E93 for ; Tue, 28 Mar 2023 02:50:16 -0700 (PDT) Received: by mail-pg1-x534.google.com with SMTP id h31so6833715pgl.6 for ; Tue, 28 Mar 2023 02:50:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679997016; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=savA42+t30mTd9rOjIgnp5RGjWHZtgVT9nH0jQI5MeU=; b=Z2MdKaFIakeP5bVLEtuQ/us2JLrUJZEGjx1QY2SUyJzAU1+gJoezn/+zJm27rwIt1S 8JzW5WpiJbp/o95EljAyyw6k0rNcjZ1nYMu4i03LDW8uKODSa/feaZX7sYkEqiw3b877 fwIBHfxMaEqMzjOKIibe+LCgM3vDE6nBVDMLy05lDUjWuzSx3ycvIzxal/tgSmPAKpeL HXYamUkVgJ3gI6CwppqN7qbloUyI7uSqEBkDSWkDxRiyhOLWWgLLYrQDoiTd0fCL1lyU jY7lNZwmDKRM8E11tG+8e7Jdy9oS3HxKdTRCcHFWYr4KJd/SVHhooLNWMBEhlBwPn5KF 6/2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679997016; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=savA42+t30mTd9rOjIgnp5RGjWHZtgVT9nH0jQI5MeU=; b=qCh7krMvtEjECKZVDvCqwN/h3o0jD9BujgdT7wa3tQUyQhP7v9A2K/VYa8E2KKBzzn kGWpjJ/Tff4VuoRQWKav7DpHcTC5PQ/+7FbKciZaqXGQqMIbc4q717birf6mXUfqJS22 JuaN5NPoT/bl2RpuAdjkD3Th447rttSLubUYdW5bM0bo4uCefeuMEcDMUKTlBvC0GPhT IkWzBcMAmWIHfav0we4GHMu+TAa/Pdh1RczyUHtpaOJ2sEpWEXfp93R2MbBLNGHz+9bl clc9tO60wrJzTbPigCCbXIWOTnBuKlsLDRX2yKRiEuTFPYg+rPurOP3iXuiNudC0n41f bWZg== X-Gm-Message-State: AAQBX9e9LTWee/Tcl1rM1K9sMI7GmXRzCRXboiz5n8iAr27QIpQOFD3o Lfe4WmOp3H9qi0GiZ3QE3C9G X-Google-Smtp-Source: AKy350ZYmbuWMEQRc+4NP1mt32BUkgR6DbHCPdiXkQ6eZdQJM+4FyDHCLgrMUvJGdj40W9b61JYQpA== X-Received: by 2002:aa7:9402:0:b0:62b:107d:c3cb with SMTP id x2-20020aa79402000000b0062b107dc3cbmr12149943pfo.33.1679997016151; Tue, 28 Mar 2023 02:50:16 -0700 (PDT) Received: from thinkpad ([117.202.191.80]) by smtp.gmail.com with ESMTPSA id d1-20020aa78141000000b0062608a7557fsm20702468pfn.75.2023.03.28.02.50.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Mar 2023 02:50:15 -0700 (PDT) Date: Tue, 28 Mar 2023 15:20:09 +0530 From: Manivannan Sadhasivam To: Johan Hovold Cc: andersson@kernel.org, Thinh.Nguyen@synopsys.com, gregkh@linuxfoundation.org, mathias.nyman@intel.com, konrad.dybcio@linaro.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH 4/5] usb: dwc3: qcom: Clear pending interrupt before enabling wake interrupt Message-ID: <20230328095009.GC5695@thinkpad> References: <20230325165217.31069-1-manivannan.sadhasivam@linaro.org> <20230325165217.31069-5-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Tue, Mar 28, 2023 at 11:28:32AM +0200, Johan Hovold wrote: > On Sat, Mar 25, 2023 at 10:22:16PM +0530, Manivannan Sadhasivam wrote: > > It is possible that there may be a pending interrupt logged into the dwc IP > > while the interrupts were disabled in the driver. And when the wakeup > > interrupt is enabled, the pending interrupt might fire which is not > > required to be serviced by the driver. > > > > So always clear the pending interrupt before enabling wake interrupt. > > > > Cc: stable@vger.kernel.org # 5.20 > > Fixes: 360e8230516d ("usb: dwc3: qcom: Add helper functions to enable,disable wake irqs") > > Signed-off-by: Manivannan Sadhasivam > > --- > > drivers/usb/dwc3/dwc3-qcom.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c > > index bbf67f705d0d..f1059dfcb0e8 100644 > > --- a/drivers/usb/dwc3/dwc3-qcom.c > > +++ b/drivers/usb/dwc3/dwc3-qcom.c > > @@ -346,6 +346,8 @@ static void dwc3_qcom_enable_wakeup_irq(int irq, unsigned int polarity) > > if (!irq) > > return; > > > > + irq_set_irqchip_state(irq, IRQCHIP_STATE_PENDING, 0); > > + > > This looks like a hack (and a layering violation). Note that there are > no other non-irqchip drivers calling this function. > I can check if this can be achieved by clearing some dwc specific registers. - Mani > > if (polarity) > > irq_set_irq_type(irq, polarity); > > Johan -- மணிவண்ணன் சதாசிவம்