Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp2150177pxu; Sun, 6 Dec 2020 21:28:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJw3DjhHGt683QaruEa1g7ztQbMrTTQMe7ws0QdDIjcqokTWrIB68CxDVBPKO8Dz0/JdYtoa X-Received: by 2002:a05:6402:1d3b:: with SMTP id dh27mr11389835edb.238.1607318917232; Sun, 06 Dec 2020 21:28:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607318917; cv=none; d=google.com; s=arc-20160816; b=qvQrnQ4RcrnUj21F3ML4WTrKMnA4ldC+haXSpW+2v3F4Q3tyGUYHdhOeuICSw/VH9f Ljt84Lg18+eaQkDtVrzMrSJAM2dZUwAHqFd/FbhhTaDr6QmHPh2c6W/f1jlBG5WBae1r bsWJxTk/c2oKdVOwUTOR2dj54Ksr12dULrc+2sueUNmFvplK767TFQG3vBdKe3FHZrPY Kw6pwUeTqFWK5MNpZCpdUtYngTkvCLYSUNeT3ZPu7MrHBWoTcqpwlpMMt7MSAIzlS0yO TpP8fohkAhdfbUEP5Ovhp5L6sctoqQkz1UuLOYI/1kwmyjR524wN/Yin7/Bw4pBGaye2 k+Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:dkim-signature:date; bh=CyU9OAQghQQDuebq5NMdi1ZnXsLzBsEOeeUq5Q0RUTg=; b=C7qaHk5T7wpd0OJTKN3pPCkSW7gLPScGo+gH+/n89SslTARHdkRESNLq1nxiClhyHe +DIq6QH4ZTFlkhdG4SdkdvWpCQgpyjvX4PA4GWeGsonKSTqIPPlHoABQ5tPkLcdNm2Z9 uQC/XIrM0y4NHbMY7znAiINpdJws4I4dp0dh/t+xIXrxOpakwpM+b0fQ/qVD8gsPugea fiPHop//EJd8o32bXKUIoOISKOAZnK+lSp6tYv18zdXt8EOilvjmtFHaJZhdaM/TukZS LK5jNXD0RqTXxodTZG3Tm3Vla7KFzSu7YlslY9XJ+m1pAOT83opKIpGqfo1LYngn8VNe Pj+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hhFX7cv2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cm2si7602177edb.472.2020.12.06.21.28.14; Sun, 06 Dec 2020 21:28:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hhFX7cv2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726278AbgLGFYH (ORCPT + 99 others); Mon, 7 Dec 2020 00:24:07 -0500 Received: from mail.kernel.org ([198.145.29.99]:36950 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725803AbgLGFYH (ORCPT ); Mon, 7 Dec 2020 00:24:07 -0500 Date: Mon, 7 Dec 2020 10:53:22 +0530 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1607318606; bh=mCUznOjbXqYI2bND5qpnl271aklxnGqHkYPfhMN+B1s=; h=From:To:Cc:Subject:References:In-Reply-To:From; b=hhFX7cv2zmKRTlDhCb5OIbP4nfCjPilnplR1u15Jpz+3PvyQv5mOl7qloz1ycRUTW GGleRxw5AvzUDEvYYG/ToPRIm/I5SWTsf3iSRBlKvwTnBOtr9OYPW7hHRtiGdih5vP RWIuCxO1+Rj5GXeFH9DZk1IaX1zoEegPe5yQ0RvbarDnIuLiKyX8Wg5VPLVwTzeYN2 URd7GoN10EoQ+1F3+WrOyZ1iOoBrjysumZgsbvmoj5jjudTtxdiWyRCWki3G9UxB/6 ialwfa1X0B654Cs/2SOUAumrx9oUIQMu8jOVzzN5AQV66TknztO3U7cSmhmllxLZrA zee/2uVE/N+gA== From: Vinod Koul To: Parth Y Shah , Srinivas Kandagatla Cc: agross@kernel.org, bjorn.andersson@linaro.org, dan.j.williams@intel.com, linux-arm-msm@vger.kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] Fixes kernel crash generating from bam_dma_irq() Message-ID: <20201207052322.GD8403@vkoul-mobl> References: <1607250094-21571-1-git-send-email-sparth1292@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1607250094-21571-1-git-send-email-sparth1292@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Parth, On 06-12-20, 15:51, Parth Y Shah wrote: > While performing suspend/resume, we were getting below kernel crash. > > [ 54.541672] [FTS][Info]gesture suspend... > [ 54.605256] [FTS][Error][GESTURE]Enter into gesture(suspend) failed! > [ 54.605256] > [ 58.345850] irq event 10: bogus return value fffffff3 > ...... > > [ 58.345966] [] el1_irq+0xb0/0x124 > [ 58.345971] [] arch_cpu_idle+0x10/0x18 > [ 58.345975] [] do_idle+0x1ac/0x1e0 > [ 58.345979] [] cpu_startup_entry+0x20/0x28 > [ 58.345983] [] rest_init+0xd0/0xdc > [ 58.345988] [] start_kernel+0x390/0x3a4 > [ 58.345990] handlers: > [ 58.345994] [] bam_dma_irq > > The reason for the crash we found is, bam_dma_irq() was returning > negative value when the device resumes in some conditions. > > In addition, the irq handler should have one of the below return values. > > IRQ_NONE interrupt was not from this device or was not handled > IRQ_HANDLED interrupt was handled by this device > IRQ_WAKE_THREAD handler requests to wake the handler thread > > Therefore, to resolve this crash, we have changed the return value to > IRQ_NONE. The change and explanation look good to me, unfortunately the patch title is incorrect. It describes the fix it does and not the change in this patch. Also do add subsystem and driver tags to the patch! git log would tell you this information Consider: "dmaengine: bam_dma: fix return of bam_dma_irq()" as a suggestion. > > Signed-off-by: Parth Y Shah > --- > drivers/dma/qcom/bam_dma.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c > index 4eeb8bb..d5773d4 100644 > --- a/drivers/dma/qcom/bam_dma.c > +++ b/drivers/dma/qcom/bam_dma.c > @@ -875,7 +875,7 @@ static irqreturn_t bam_dma_irq(int irq, void *data) > > ret = bam_pm_runtime_get_sync(bdev->dev); Also this looks wrong to me. get_sync() can sleep and we cant invoke that in an irq. Srini have you seen this issue > if (ret < 0) > - return ret; > + return IRQ_NONE; > > if (srcs & BAM_IRQ) { > clr_mask = readl_relaxed(bam_addr(bdev, 0, BAM_IRQ_STTS)); > -- > 2.7.4 -- ~Vinod