From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8C3D6391501 for ; Wed, 19 Aug 2026 15:37:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787153865; cv=none; b=puHNIVXJWdDV05nHH/a3fgWGvOPyLoXhqXWJiatpvkpYYwFgXIXZk4xiCMYibSWT+/yF/XJCPHZFFqACRjj/ldFTuA+IyZ4x8belGsfVyHKKgkshQclrvDWFD5yMzL9sDKAXReOI7ui2pNWEGd8MU+sWytOQSEj+NUsycFs46XM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787153865; c=relaxed/simple; bh=dFOTYzU+Dh/Eh5CmfmlJmdUu1Oji+nDK1VoZLT2xPXo=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=avpbc1RY41Hhr7QSf14A3t6bGS6KsfIhP2BKNyvAvtl/7myKJijb/PDraRlxYYqhslGET9OVXs8tUb3nzaNXfCM1n18n1C3faBwVkojguc2YRJr0JAsEYnMI0QFuWyp6k0nfiOhdiWgcgtG71/at1VYC5CXSPWiRhEE9TV0Sn1g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=ooIYAFVC; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="ooIYAFVC" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6FCA41BD0; Wed, 19 Aug 2026 08:37:37 -0700 (PDT) Received: from [10.57.6.96] (unknown [10.57.6.96]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B18B23FA32; Wed, 19 Aug 2026 08:37:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1787153861; bh=dFOTYzU+Dh/Eh5CmfmlJmdUu1Oji+nDK1VoZLT2xPXo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=ooIYAFVClXgw1Gz5f5bvggB4E5wB1vi8ZRS89qMH4WaLHWAyoZd14Tb3OtaTy2wTU XRMqlf997n5UhK0OGyQNH9v7cnVxOqsfP0RT7HEqxD1Mxpsyt9C3v5SZ9OlmBmSNYE zR61eT6TH+FsH9s5TPr1t6XA6VX37dHEWtn4p1HU= Message-ID: Date: Wed, 19 Aug 2026 16:37:31 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 3/3] drm/panthor: Take reqs_lock in soft_reset for clearing pending_reqs To: Nicolas Frattaroli , Boris Brezillon , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, kernel@collabora.com References: <20260812-panthor-cache-flush-fix-v4-0-751e32901898@collabora.com> <20260812-panthor-cache-flush-fix-v4-3-751e32901898@collabora.com> From: Steven Price Content-Language: en-GB In-Reply-To: <20260812-panthor-cache-flush-fix-v4-3-751e32901898@collabora.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/08/2026 15:07, Nicolas Frattaroli wrote: > panthor_gpu_soft_reset() sets pending_reqs to 0 without taking the > requisite reqs_lock. > > Fix this by taking the lock for the duration of the modification. > > Fixes: 5cd894e258c4 ("drm/panthor: Add the GPU logical block") > Reviewed-by: Boris Brezillon > Signed-off-by: Nicolas Frattaroli Reviewed-by: Steven Price > --- > drivers/gpu/drm/panthor/panthor_gpu.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/panthor/panthor_gpu.c b/drivers/gpu/drm/panthor/panthor_gpu.c > index 55e33f145b40..fb2702e1e0a2 100644 > --- a/drivers/gpu/drm/panthor/panthor_gpu.c > +++ b/drivers/gpu/drm/panthor/panthor_gpu.c > @@ -424,7 +424,10 @@ int panthor_gpu_soft_reset(struct panthor_device *ptdev) > return -ETIMEDOUT; > } > > - ptdev->gpu->pending_reqs = 0; > + scoped_guard(spinlock, &ptdev->gpu->reqs_lock) { > + ptdev->gpu->pending_reqs = 0; > + } > + > return 0; > } > >