The wrong usage of NVME_QUIRK_IGNORE_DEV_SUBNQN

AlanCui4080 me at alancui.cc
Fri May 8 03:11:18 PDT 2026


Hi Busch,

On Friday, 8 May 2026 16:03,you wrote:

> Okay, please send a revert. The number of devices that got such
> fundamental things wrong is truly astounding, so I generally just take
> such reports and patches as a reaction to a real observation.

The patch contains a revert has been sent to mailling list.

I've only recently started using Linux desktop on a physical machine
and am trying to contribute. Sorry for my recklessness.

A patch attached for reference. If the Linux kernel explicitly
states in documents that it won't perform a quirk in this situation,
perhaps I can go to those BBS forums to correct their statements. And
this may help to avoid wrong usage of quirks like My and Terjan's patch.

Alan.

---
diff --git a/Documentation/nvme/feature-and-quirk-policy.rst b/Documentation/nvme/feature-and-quirk-policy.rst
index e21966bf20a8..9d9e791da692 100644
--- a/Documentation/nvme/feature-and-quirk-policy.rst
+++ b/Documentation/nvme/feature-and-quirk-policy.rst
@@ -75,3 +75,18 @@ Quirks will not be added to the Linux kernel for hardware that isn't available
 on the mass market.  Hardware that fails qualification for enterprise Linux
 distributions, ChromeOS, Android or other consumers of the Linux kernel
 should be fixed before it is shipped instead of relying on Linux quirks.
+
+NVME_QUIRK_IGNORE_DEV_SUBNQN
+-------------------------
+
+The incorrect implementations of SUBNQN is a known issue in a massive number of
+NVMe units.  However, the warning "nvme nvmex: missing or invalid SUBNQN field."
+is usually appropriate and will not affect performance or behavior etc.  That is
+because the support for SUBNQN is mandatory if the controller supports NVMe
+revision 1.2.1 or greater, and it reported itself without a SUBNQN field which
+breaks compliance with the specification. This should be not quirked by the Linux
+Kernel.
+
+The intent of NVME_QUIRK_IGNORE_DEV_SUBNQN is to solve the NQN confliction caused
+by defective firmware that provides a non-globally-unique NQN.  When multiple
+such devices are installed in a system, only one will be recognized and enabled.






More information about the Linux-nvme mailing list