summaryrefslogtreecommitdiff
path: root/drivers/nvme/host/core.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-06-23 07:55:07 -0600
committerJens Axboe <axboe@kernel.dk>2022-06-23 07:55:07 -0600
commite531485a0a0e0a06644de1b639502471415d5e12 (patch)
treebf5eb514d289d685760be77d076039b64e2ac69c /drivers/nvme/host/core.c
parentca2a3343d69741dae4df2dbb954fb806d9a835de (diff)
parente6487833182a8a0187f0292aca542fc163ccd03e (diff)
Merge tag 'nvme-5.19-2022-06-23' of git://git.infradead.org/nvme into block-5.19
Pull NVMe fixes from Christoph: "nvme fixes for Linux 5.19 - fix the mixed up CRIMS/CRWMS constants (Joel Granados) - add another broken identifier quirk (Leo Savernik) - fix up a quirk because Samsung reuses PCI IDs over different products (Christoph Hellwig)" * tag 'nvme-5.19-2022-06-23' of git://git.infradead.org/nvme: nvme: move the Samsung X5 quirk entry to the core quirks nvme: fix the CRIMS and CRWMS definitions to match the spec nvme: add a bogus subsystem NQN quirk for Micron MTFDKBA2T0TFH
Diffstat (limited to 'drivers/nvme/host/core.c')
-rw-r--r--drivers/nvme/host/core.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 3ab2cfd254a4..b3d9c29aba1e 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -2546,6 +2546,20 @@ static const struct nvme_core_quirk_entry core_quirks[] = {
.vid = 0x1e0f,
.mn = "KCD6XVUL6T40",
.quirks = NVME_QUIRK_NO_APST,
+ },
+ {
+ /*
+ * The external Samsung X5 SSD fails initialization without a
+ * delay before checking if it is ready and has a whole set of
+ * other problems. To make this even more interesting, it
+ * shares the PCI ID with internal Samsung 970 Evo Plus that
+ * does not need or want these quirks.
+ */
+ .vid = 0x144d,
+ .mn = "Samsung Portable SSD X5",
+ .quirks = NVME_QUIRK_DELAY_BEFORE_CHK_RDY |
+ NVME_QUIRK_NO_DEEPEST_PS |
+ NVME_QUIRK_IGNORE_DEV_SUBNQN,
}
};