<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/nvme/host, branch linux-6.1.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-6.1.y</id>
<link rel='self' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-6.1.y'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2026-09-14T11:25:59+00:00</updated>
<entry>
<title>nvme-apple: Reset q-&gt;sq_tail during queue init</title>
<updated>2026-09-14T11:25:59+00:00</updated>
<author>
<name>Nick Chan</name>
<email>towinchenmi@gmail.com</email>
</author>
<published>2026-05-14T13:16:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=225b7af1dbd589c33faabe90b5bd85bd6a73b8b6'/>
<id>urn:sha1:225b7af1dbd589c33faabe90b5bd85bd6a73b8b6</id>
<content type='text'>
[ Upstream commit a6ab75639e23169a741b0b2e12191fd8acb32c73 ]

Fixes a "duplicate tag error for tag 0" firmware crash during controller
reset while setting up a  queue on Apple A11 / T8015 caused by stale
entries in the submission queue due to an invalid sq_tail offset after
reset.

Fixes: 04d8ecf37b5e ("nvme: apple: Add Apple A11 support")
Cc: stable@vger.kernel.org
Suggested-by: Yuriy Havrylyuk &lt;yhavry@gmail.com&gt;
Reviewed-by: Sven Peter &lt;sven@kernel.org&gt;
Signed-off-by: Nick Chan &lt;towinchenmi@gmail.com&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-apple: Prevent shared tags across queues on Apple A11</title>
<updated>2026-09-14T11:25:59+00:00</updated>
<author>
<name>Nick Chan</name>
<email>towinchenmi@gmail.com</email>
</author>
<published>2026-06-07T06:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=91d3b243bffe5c94503c9a8ea478a080f79ec58e'/>
<id>urn:sha1:91d3b243bffe5c94503c9a8ea478a080f79ec58e</id>
<content type='text'>
[ Upstream commit 6fe0687245e8406bf26143bd45eb16441bbe5280 ]

On Apple A11, tags of pending commands must be unique across the admin
and IO queues, else the firmware crashes with
"duplicate tag error for tag N", with N being the tag.

Apply the existing workaround for M1 of reserving two tags for the admin
queue to A11.

Cc: stable@vger.kernel.org
Fixes: 04d8ecf37b5e ("nvme: apple: Add Apple A11 support")
Reviewed-by: Sven Peter &lt;sven@kernel.org&gt;
Signed-off-by: Nick Chan &lt;towinchenmi@gmail.com&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-apple: Drop the PRP null check chicken bit</title>
<updated>2026-09-14T11:25:30+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@kernel.org</email>
</author>
<published>2026-08-06T15:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=201edb5f22d4d126a48fb69850a2a7f190982e59'/>
<id>urn:sha1:201edb5f22d4d126a48fb69850a2a7f190982e59</id>
<content type='text'>
[ Upstream commit 8ce883fd068b7ba9ab493cd3ecca3a7ea868c375 ]

Now that we program the DMA direction correctly the NULL check that used
to make commands fail passes. Another side effect of this bit was that
non-align buffers on the admin queue were silently allowed and that's
been fixed now as well and we this don't need this chicken bit anymore.
More importantly, starting with the firmware installed with macOS 15,
which is required for M4 but can also be installed on the previous SoCs,
the controller no longer exposes this control register and any access
SErrors instead. Just drop the write entirely.

Fixes: 5bd2927aceba ("nvme-apple: Add initial Apple SoC NVMe driver")
Tested-by: Joshua Peisach &lt;jpeisach@ubuntu.com&gt;
Tested-by: Janne Grunau &lt;j@jannau.net&gt;
Tested-by: Nick Chan &lt;towinchenmi@gmail.com&gt;
Signed-off-by: Sven Peter &lt;sven@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme: apple: Add Apple A11 support</title>
<updated>2026-09-14T11:25:29+00:00</updated>
<author>
<name>Nick Chan</name>
<email>towinchenmi@gmail.com</email>
</author>
<published>2025-08-26T12:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=655b6743bd900df39354e8bb6f1f2f8671fca004'/>
<id>urn:sha1:655b6743bd900df39354e8bb6f1f2f8671fca004</id>
<content type='text'>
[ Upstream commit 04d8ecf37b5e06d16228a4d37d8548c17cf70461 ]

Add support for ANS2 NVMe on Apple A11 SoC.

This version of ANS2 is less quirky than the one in M1, and does not have
NVMMU or Linear SQ. However, it still requires a non-standard 128-byte
SQE.

Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Nick Chan &lt;towinchenmi@gmail.com&gt;
Reviewed-by: Sven Peter &lt;sven@kernel.org&gt;
Link: https://lore.kernel.org/r/20250826-t8015-nvme-v5-2-caee6ab00144@gmail.com
Signed-off-by: Sven Peter &lt;sven@kernel.org&gt;
Stable-dep-of: 8ce883fd068b ("nvme-apple: Drop the PRP null check chicken bit")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-apple: return directly instead of else</title>
<updated>2026-09-14T11:25:29+00:00</updated>
<author>
<name>Chaitanya Kulkarni</name>
<email>kch@nvidia.com</email>
</author>
<published>2023-03-27T05:48:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d254d0370e2988631b882ca788a034b3f8730f9a'/>
<id>urn:sha1:d254d0370e2988631b882ca788a034b3f8730f9a</id>
<content type='text'>
[ Upstream commit 2ce525d40aa61c87884b100995e59ba68b4ea059 ]

There is no need for the else when direct return is used at the end of
the function.

Signed-off-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Reviewed-by: Eric Curtin &lt;ecurtin@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Stable-dep-of: 8ce883fd068b ("nvme-apple: Drop the PRP null check chicken bit")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme: introduce nvme_start_request</title>
<updated>2026-09-14T11:25:29+00:00</updated>
<author>
<name>Sagi Grimberg</name>
<email>sagi@grimberg.me</email>
</author>
<published>2022-10-03T09:43:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=de8a7a1f9ad3a4eceffa6150b3d5be749aef48b4'/>
<id>urn:sha1:de8a7a1f9ad3a4eceffa6150b3d5be749aef48b4</id>
<content type='text'>
[ Upstream commit 6887fc6495f2dfd55e088c982e983815278ee453 ]

In preparation for nvme-multipath IO stats accounting, we want the
accounting to happen in a centralized place. The request completion
is already centralized, but we need a common helper to request I/O
start.

Signed-off-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Keith Busch &lt;kbusch@kernel.org&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Stable-dep-of: 8ce883fd068b ("nvme-apple: Drop the PRP null check chicken bit")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-apple: Never set the opcode in the NVMMU TCB</title>
<updated>2026-09-14T11:25:29+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@kernel.org</email>
</author>
<published>2026-08-06T15:27:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=82b113c5f6207a4adfab13e97573374a9595a606'/>
<id>urn:sha1:82b113c5f6207a4adfab13e97573374a9595a606</id>
<content type='text'>
[ Upstream commit cc0fec9b42cfbc69d70cb4c4b616408a7037b445 ]

macOS always sets this to zero and the firmware starting with macOS 15
has started to complain about what we're doing here.

Fixes: 5bd2927aceba ("nvme-apple: Add initial Apple SoC NVMe driver")
Tested-by: Joshua Peisach &lt;jpeisach@ubuntu.com&gt;
Tested-by: Janne Grunau &lt;j@jannau.net&gt;
Tested-by: Nick Chan &lt;towinchenmi@gmail.com&gt;
Signed-off-by: Sven Peter &lt;sven@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-apple: Don't set a DMA direction for commands without a data transfer</title>
<updated>2026-09-14T11:25:29+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@kernel.org</email>
</author>
<published>2026-08-06T15:27:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6e486a7fd0fec801fb7e2c340d2bf2ed1dfe5111'/>
<id>urn:sha1:6e486a7fd0fec801fb7e2c340d2bf2ed1dfe5111</id>
<content type='text'>
[ Upstream commit 94dd5804938d6681dbf26f023b1356d511f4fc48 ]

Setting the DMA direction for commands that don't do any transfer likely
triggered the PRP NULL check for which we needed a chicken bit. That bit
has disappeared starting with macOS 15 so let's just do this correctly
instead.

Fixes: 5bd2927aceba ("nvme-apple: Add initial Apple SoC NVMe driver")
Tested-by: Joshua Peisach &lt;jpeisach@ubuntu.com&gt;
Tested-by: Janne Grunau &lt;j@jannau.net&gt;
Tested-by: Nick Chan &lt;towinchenmi@gmail.com&gt;
Signed-off-by: Sven Peter &lt;sven@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-fc: unmap cmd_iu DMA on rsp_iu mapping failure in init_request</title>
<updated>2026-09-14T11:25:01+00:00</updated>
<author>
<name>Guixin Liu</name>
<email>kanie@linux.alibaba.com</email>
</author>
<published>2026-07-29T10:58:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb0251991420c25e3ceeac40ea09250d79ed7ef0'/>
<id>urn:sha1:bb0251991420c25e3ceeac40ea09250d79ed7ef0</id>
<content type='text'>
[ Upstream commit f49d0c3a8d56a7cda1628ae17341a4a42063563c ]

__nvme_fc_init_request() maps cmd_iu and then rsp_iu for DMA. If the
rsp_iu mapping fails, the original code only recorded the error and fell
through: it left the already-mapped cmd_iu unmapped and still marked the
op as FCPOP_STATE_IDLE before returning. Since blk-mq does not call
.exit_request() when .init_request() fails, the cmd_iu mapping is leaked
for every op whose rsp_iu mapping fails.

Jump to an error path on rsp_iu mapping failure that unmaps cmd_iu and
returns the error without marking the op idle, so it stays in the
FCPOP_STATE_UNINIT state set by the initial memset().

Fixes: e399441de911 ("nvme-fabrics: Add host support for FC transport")
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Guixin Liu &lt;kanie@linux.alibaba.com&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-apple: Use acquire/release for queue enabled state</title>
<updated>2026-09-14T11:24:38+00:00</updated>
<author>
<name>Gui-Dong Han</name>
<email>hanguidong02@gmail.com</email>
</author>
<published>2026-06-18T02:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cbe53ecd696e354bfda8173364f7595759bc562d'/>
<id>urn:sha1:cbe53ecd696e354bfda8173364f7595759bc562d</id>
<content type='text'>
[ Upstream commit f61c934aa084b7440fec681be3f4b481eb5a8609 ]

apple_nvme_init_queue() initializes queue state and then marks the queue
enabled. The interrupt and request paths check enabled before using that
queue state.

The old wmb() after WRITE_ONCE(enabled, true) does not publish the
earlier initialization before enabled becomes visible. Use a release store
when enabling the queue and acquire loads when testing it.

Although the shutdown-side enabled accesses are not used for publishing
queue initialization, use helpers for them as well for consistency.

Fixes: 5bd2927aceba ("nvme-apple: Add initial Apple SoC NVMe driver")
Signed-off-by: Gui-Dong Han &lt;hanguidong02@gmail.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
</feed>
