From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) (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 4F959242D79 for ; Tue, 27 Jan 2026 01:27:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769477236; cv=none; b=GP+jmN4LziMaLybQKyCC5Y3hiqFMP8auGwuvoWY2n6hdnNoF2ylJ2jlQdCIe4UKR6AB9OG77XRt83/TJjUq+w13KA8816dzGlzRFoLhIIeg+MYOCBQXsl15K8lb6Xu+L9j0/GYdRj1zPv1kOkTvDwz8MKOvt/62TneKUCex0V4c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769477236; c=relaxed/simple; bh=2PkusNBvCXPAaSE7WSYZ8b1NjsEsw/WwT2shsz++lr4=; h=Date:Mime-Version:Message-ID:Subject:From:Cc:Content-Type; b=OOzXPEQJiLyPZZaCFi2RwDODrhpqxNgbhfg6lwJ4ZvoDs/zcTYZ6gcLXy7mT6IHR8RWKT2wfBELfCaES5qxs7d+5BykiJcmX0l84EYvUnTcOSdxVp1895rbMHq/uOk81oQHb4Dlx+YvW1ZaHoaus2EaytC4Qhd8zCiBVL8xYxXI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--thomasyen.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=07SKOVP/; arc=none smtp.client-ip=209.85.210.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--thomasyen.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="07SKOVP/" Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-82317005ee6so2277479b3a.0 for ; Mon, 26 Jan 2026 17:27:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1769477235; x=1770082035; darn=vger.kernel.org; h=cc:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=164t62qeBCYmLeLaFusukV4c4GOaOGQY6hBpjpPEgbk=; b=07SKOVP/wWQwOeO1sw12rFVja1wXjqw7V8WdnIy31DuA2ET/jcLs8eDKzYgmlDu/Ne HKP6nsRxu9ZAVx1rI9K1Jng1A7p8qu7JAtQR115DnGdNJ8Kr6K9EmNSZauxqEcIp/UeP BnNcRHA1OvhO8yFWpSB7AOg1xHSyJfVflDYea0ihwR1TalkdR5HqX4+ZVK4cckLi5tEg 5giF/J2tkRJMLsrjMh79HcLcP+t8iv0+XckgPYkxIOvY4eWMmJidhE3itQTozqUHoqP+ 5Mt9HS+FevcoQCWjZh11i0rBeoS5+4Mn+j0119saio93ib4ZU+tKrqZKDmNWLgtERtXC JYXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769477235; x=1770082035; h=cc:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=164t62qeBCYmLeLaFusukV4c4GOaOGQY6hBpjpPEgbk=; b=bSKbet+W/HMr6uz6Uu2dLl5gN1AcxrpxXcrW8KNMN8DG1PpkMW7H1aEXzBAg2WSAsw z0Q2RZPa7nxGuTUm3FzpI5gZrXLjmisIYqc6T1bGEyOTDEM9dbCCvOgIBfs3k3Yp61ui f+W3Myacjyj5JlCje/Lrdyc54xqjfQOGCeAMYe2K0mSQiw7qz5aD1qzbGgvzVZiiO21i t2WGpFZ8PWQNPFFSK6BMgxvYT50/NhVW3TdBbmZuK0id6+przRjuiLTAJ7Lmb0fLhett a05T4HJWwq8yfUv8iyFP0snA4gjj74Pq3a16VkGzjdsBGCP6tx9RgzVD6ktYbCQopmuI zdig== X-Forwarded-Encrypted: i=1; AJvYcCWO8vgAJU5Q614T4M3caogKdOCgTealLB6sWV4G1+vFnzGdP4ORDEXzsQJnNzsZaMf+MKXt06M6vS/tYe4=@vger.kernel.org X-Gm-Message-State: AOJu0Yyewc21D1HrcIBD0Wb4w2NNtqWJ0NWrV0udt7axD7mOymDB9le7 /KbCwlpFN/xx774f7+P9QmpHcoPptF7sbBxhu1Hd4oyQVyAbu45ebplrXIbiuhp4XTWltbFio7P JmyBtluIU1u/ZDq08GQ== X-Received: from pfbhw19.prod.google.com ([2002:a05:6a00:8913:b0:7e2:fa44:4fac]) (user=thomasyen job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:2e1b:b0:821:81aa:add with SMTP id d2e1a72fcca58-823691c12e3mr180205b3a.31.1769477234543; Mon, 26 Jan 2026 17:27:14 -0800 (PST) Date: Tue, 27 Jan 2026 09:26:45 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.52.0.457.g6b5491de43-goog Message-ID: <20260127012700.3311649-1-thomasyen@google.com> Subject: [PATCH v2 1/1] scsi: ufs: core: Flush exception handling work when RPM level is zero From: Thomas Yen Cc: Thomas Yen , Stable Tree , Alim Akhtar , Avri Altman , Bart Van Assche , "James E.J. Bottomley" , "Martin K. Petersen" , Peter Wang , Bean Huo , Adrian Hunter , "Bao D. Nguyen" , "open list:UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER" , open list Content-Type: text/plain; charset="UTF-8" Ensure that the exception event handling work (&hba->eeh_work) is explicitly flushed during suspend when the runtime power management level (rpm_lvl) is set to UFS_PM_LVL_0. When the RPM level is zero, the device power mode remains active and the link remains in an active state. In this specific configuration, the UFS core driver previously bypassed the flushing of exception event handling jobs. This created a race condition where the driver could attempt to access the host controller to handle an exception after the system had already entered a deep power-down state, leading to a system crash. By explicitly flushing this work before the suspend callback proceeds, pending exception handling tasks are guaranteed to complete, preventing illegal hardware access during the power-down sequence. Signed-off-by: Thomas Yen Cc: Stable Tree --- v2: - Add Cc: stable tag. - Reformat commit message text for better line wrapping. drivers/ufs/core/ufshcd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 0369043ca010..3a0e6c9ba86a 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -9997,6 +9997,7 @@ static int __ufshcd_wl_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) if (req_dev_pwr_mode == UFS_ACTIVE_PWR_MODE && req_link_state == UIC_LINK_ACTIVE_STATE) { + flush_work(&hba->eeh_work); goto vops_suspend; } base-commit: a48ca06cf343423faa01c573aeafba9fa5f92577 -- 2.52.0.457.g6b5491de43-goog