From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B81B73A785E for ; Thu, 14 May 2026 08:03:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778745806; cv=none; b=XhS5yJ9vxlkRxqCcFeOqSm+sKKExjpHolC/7DNkuyPO3P3+wpbalz9JTDZqGR2pq6hoXWAfrSRsKXfLe9dL28w8fh27dtMLFpjTzcD40mh/8RJAx0XeVpTGF9mvbXNBduKT/Yulq4DOjYKf2Gsqc4H64eN9UIuaePIYKh3JlvtM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778745806; c=relaxed/simple; bh=r31U3mmNfI2l91+C7Oi83eBww+uDGQFp8X9UzhipXl8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=jCqxh0nASwFA7uqvuTWab4Jy5q00kWrR6HlBTw9GpTwRBswcxw+2THmiunnDxwulQ5dk/tzYMWVymBhpu87tS3jebAiZBVMhI2z4U8dOUSbC90C8GTf2z1ghJQB+vMps1wcJYFlA4GVLCYCWfFSIEzOdDTNksGKXdimXo0pzB5E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=pN3ZSxu/; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="pN3ZSxu/" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-c8025500cc7so5573515a12.1 for ; Thu, 14 May 2026 01:03:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778745804; x=1779350604; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=u7GNIvyzCgZi0OvfLvXfLsDC6btZO2C2Y4XrgU5NUV0=; b=pN3ZSxu/gj2+gqm5e7Ha1KeeUA2bLbZxFk+E8/2T+qijOla/TkohmbVRhUQEGXE6Qw cRPfn3jy037CtPRD2+KAWSM8k1RNlbIzdxymdwOaaBHQE6yzKLDmd+Qrw44AJk+OKLoz Q3SJSjBiAE0EhPUUkwNE/tBoEn9trvFSXExNBNlYbOui4b9rA2FQk6QqQ2tiyrPEtV2l b6zFLkUBiDulexfUOBetbX2vZ8zb43Dqfi/wop5Zul6jD3QIrh7odx+39oXSdd1Y892Y T1Bs3dsTczPsWs4Rg2omPImCRssb4UnS+91VjLSk4I4+s4Fu14jHe3b0siHiiN4yg5k9 MygQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778745804; x=1779350604; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=u7GNIvyzCgZi0OvfLvXfLsDC6btZO2C2Y4XrgU5NUV0=; b=GdLThyBrGDl0NJBb23uQxRcPhFCf4D23UrnGK2tn0juDLjMBwZK5xQLcaxg35J8di8 yxKXrwFBXkyKnoUgq+faH6iQ/aN+16PChMLlV7xJIIk5HqnUJts4wWG0N53ygfIuPuzM XyGazwExctsGHySDjGIC26eYb3Ng0a/mUOsEP6WbljAxJ+/EcoG1/BUbxNZDK3Wx8ywt u0F25RX3985zg5eS+HuE38149WZEc3pieq2kHnJ3qWR4eIGWFZ8kM2Ga2QfewtEyoiiL rRCuqRkxOB7ZjQdjvbUSIsHbBNeTY+arFX34fixHj/W2iJElke6qK2y5pg3pDJfzOFYk aa1g== X-Forwarded-Encrypted: i=1; AFNElJ/op4tQJIn28lQPo4C/7rg/0Ifr/hbIrf5N9GQ2SSKqkEWN55JOj4W6Po4NpgePCf7/4Axpo347bhEeKZQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9/PcLzanjkY+ciN6+SMhtcS5HL/HKvTeNDKqcXkC9cbBMOAQu AYWVDSMU8JpaM6dGkByF7IdEvjz4VA9r91VuhHsDfnCn5mOahWF6vZNe X-Gm-Gg: Acq92OHf+PVTjwqERZZfvVfamzs7bnt1ysVMKRZEzvBBWQiOjzszUo0QOwik1DshHCU hSvUxR+YI35kHIqiEycYK/jKO2TtoutM7FmK9MNTS89S6e9Elri3e4cp011Jvh3H508wILYc+C7 BsdXYBM0Jh6WfaYGzH5eBVqzbztSmuL3n6oa5aLS/rXSDxHYbaz2+g9YNxO+VS+tl04E+VfVfzi fNvxYbVuHNk4P5HfqbURNkH1B3uVOGJLbVKYSeLOH2pU8APS/ZBOArdWrXYm1M9IkZE2xdYNb1Q EgLlJCVD4Ze446v0/seegyNwPb1/0yKYhSQaU2xj5bRTH9M1288sKwZJ9MMoCaRdDth7Wf8xKf9 B88kON/fDTH7s+wdCOEhJM9TIsNt+2SlmlGNNPvhQbyYk1UTpgt2R4E48hdKTn17itfHvmqJiFu 8svge1DaHamjmtTRgbmwz6zuQOLNqNGWI1YmSbb4U/gOcGll5WXJij4IWnFDF283ErITGvnrI= X-Received: by 2002:a17:902:fac3:b0:2ba:6ffa:bde0 with SMTP id d9443c01a7336-2bd30210e76mr47839485ad.19.1778745803654; Thu, 14 May 2026 01:03:23 -0700 (PDT) Received: from localhost ([2404:7c00:52:8f0e:aae2:91ff:fe57:5e15]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5c16ac4asm15236865ad.33.2026.05.14.01.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 May 2026 01:03:23 -0700 (PDT) From: Chhabilal Dangal To: Sudip Mukherjee , Teddy Wang , Greg Kroah-Hartman Cc: linux-fbdev@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Chhabilal Dangal Subject: [PATCH] staging: sm750fb: add missing FBINFO_STATE_RUNNING checks in copyarea and imageblit Date: Thu, 14 May 2026 13:48:18 +0545 Message-ID: <20260514080318.39332-1-yogeshdangal66@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit lynxfb_ops_fillrect() correctly checks info->state before accessing the hardware 2D accelerator, returning early if the framebuffer is not in FBINFO_STATE_RUNNING state. However, lynxfb_ops_copyarea() and lynxfb_ops_imageblit() omit this guard despite using the same hardware accelerator through identical code paths. Without this check, the 2D engine could be accessed while the device is suspended (state set to FBINFO_STATE_SUSPENDED via fb_set_suspend()), potentially causing bus errors or system hangs. Add the missing state checks to both functions, matching the existing pattern in lynxfb_ops_fillrect(). Signed-off-by: Chhabilal Dangal --- drivers/staging/sm750fb/sm750.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 9f3e3d37e..025ac8fe3 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -204,6 +204,9 @@ static void lynxfb_ops_copyarea(struct fb_info *info, struct sm750_dev *sm750_dev; unsigned int base, pitch, bpp; + if (info->state != FBINFO_STATE_RUNNING) + return; + par = info->par; sm750_dev = par->dev; @@ -239,6 +242,9 @@ static void lynxfb_ops_imageblit(struct fb_info *info, struct lynxfb_par *par; struct sm750_dev *sm750_dev; + if (info->state != FBINFO_STATE_RUNNING) + return; + par = info->par; sm750_dev = par->dev; /* -- 2.54.0