public inbox for linux-ide@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Niklas Cassel <cassel@kernel.org>, Emerson Pinter <e@pinter.dev>,
	Damien Le Moal <dlemoal@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-ide@vger.kernel.org
Subject: [PATCH AUTOSEL 6.18-6.12] ata: libata-core: Disable LPM on ST2000DM008-2FR102
Date: Tue, 23 Dec 2025 05:05:12 -0500	[thread overview]
Message-ID: <20251223100518.2383364-8-sashal@kernel.org> (raw)
In-Reply-To: <20251223100518.2383364-1-sashal@kernel.org>

From: Niklas Cassel <cassel@kernel.org>

[ Upstream commit ba624ba88d9f5c3e2ace9bb6697dbeb05b2dbc44 ]

According to a user report, the ST2000DM008-2FR102 has problems with LPM.

Reported-by: Emerson Pinter <e@pinter.dev>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220693
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

## Analysis of Commit: Disable LPM on ST2000DM008-2FR102

### 1. COMMIT MESSAGE ANALYSIS

The commit message is clear and provides essential information:
- **Purpose:** Disabling Link Power Management (LPM) for a specific
  Seagate hard drive model
- **Evidence of real issue:** Has `Reported-by:` tag and references
  kernel bugzilla #220693
- **Proper sign-offs:** Signed by both the patch author (Niklas Cassel)
  and the libata maintainer (Damien Le Moal)

### 2. CODE CHANGE ANALYSIS

The change adds exactly 3 lines to the `__ata_dev_quirks[]` array in
`drivers/ata/libata-core.c`:

```c
/* Seagate disks with LPM issues */
{ "ST2000DM008-2FR102", NULL,           ATA_QUIRK_NOLPM },
```

This follows the exact same pattern as existing quirks in the table.
Looking at the context, there's already another Seagate drive with
`ATA_QUIRK_NOLPM`:
```c
{ "ST1000LM024 HN-M101MBB", NULL,       ATA_QUIRK_BROKEN_FPDMA_AA |
                                        ATA_QUIRK_NOLPM },
```

The mechanism is well-understood: when this specific drive model is
detected, LPM is disabled to avoid the hardware-specific issues it
causes.

### 3. CLASSIFICATION

This is a **hardware quirk/workaround** - one of the explicit exceptions
allowed in stable:
- It's adding a device-specific workaround to an existing quirk table
- Identical pattern to dozens of other quirks already in the table
- Fixes real-world hardware issues even though it "adds code"

### 4. SCOPE AND RISK ASSESSMENT

| Metric | Assessment |
|--------|------------|
| Lines changed | 3 (minimal) |
| Files touched | 1 |
| Complexity | Trivial - data table addition |
| Risk to other users | Zero - only affects this specific drive model |
| Regression potential | None - well-established mechanism |

The risk is essentially zero. This is a data-only change to a static
array. The quirk mechanism has been stable for many years and is used
extensively for similar hardware workarounds.

### 5. USER IMPACT

- **Affected users:** Owners of ST2000DM008-2FR102 (2TB Seagate
  Barracuda) - a popular consumer HDD
- **Without the fix:** LPM-related issues typically cause drive
  disconnects, I/O errors, or system hangs
- **Severity:** Medium to High - LPM issues can cause data corruption or
  loss in severe cases
- **Real bug evidence:** Bugzilla report indicates actual users hitting
  this problem

### 6. STABILITY INDICATORS

- Approved by libata maintainer (Damien Le Moal)
- Proper bug tracking with Closes: tag
- Reported-by indicates real user testing/reporting

### 7. DEPENDENCY CHECK

- **Dependencies:** None - standalone quirk addition
- **Code exists in stable:** Yes - the quirk table and `ATA_QUIRK_NOLPM`
  exist in all maintained stable kernels
- **Backport complexity:** Trivial - should apply cleanly to any stable
  kernel

### FINAL ASSESSMENT

This commit is a textbook example of what SHOULD be backported to
stable:

**Meets all stable criteria:**
1. ✅ Obviously correct - identical pattern to existing quirks
2. ✅ Fixes a real bug - LPM issues reported by users
3. ✅ Small and contained - 3 lines, 1 file
4. ✅ No new features - just a hardware workaround
5. ✅ Falls into "quirks/workarounds" exception category

**Risk vs Benefit:**
- **Risk:** Essentially zero - only affects one specific drive model,
  cannot break anything else
- **Benefit:** Fixes LPM-related issues (drive disconnects, errors,
  potential data corruption) for users of this popular Seagate drive

This is exactly the type of low-risk, high-value hardware workaround
that stable trees are designed to include.

**YES**

 drivers/ata/libata-core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index f48fb63d7e85..1216b4f2eb90 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4132,6 +4132,9 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
 	{ "ST3320[68]13AS",	"SD1[5-9]",	ATA_QUIRK_NONCQ |
 						ATA_QUIRK_FIRMWARE_WARN },
 
+	/* Seagate disks with LPM issues */
+	{ "ST2000DM008-2FR102",	NULL,		ATA_QUIRK_NOLPM },
+
 	/* drives which fail FPDMA_AA activation (some may freeze afterwards)
 	   the ST disks also have LPM issues */
 	{ "ST1000LM024 HN-M101MBB", NULL,	ATA_QUIRK_BROKEN_FPDMA_AA |
-- 
2.51.0


           reply	other threads:[~2025-12-23 10:05 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <20251223100518.2383364-1-sashal@kernel.org>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251223100518.2383364-8-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=cassel@kernel.org \
    --cc=dlemoal@kernel.org \
    --cc=e@pinter.dev \
    --cc=linux-ide@vger.kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox