drivers/nvme/host/apple.c | 32 +++++++++++++++----------------- drivers/nvme/host/core.c | 5 ++++- drivers/nvme/host/nvme.h | 7 +++++++ 3 files changed, 26 insertions(+), 18 deletions(-)
Hi,
This series fixes a bunch of bugs that were working fine with M1/M2 NVMe
controllers with older firmware but are now starting to bite us.
With macOS 15 a new firmware is installed for the controller and both
XNU and the controller are a bit more strict now. This firmware is
required once we add M4 support.
The first patch fixes a panic that can happen when the controller fails
to initialize, which now happens for the first time with the new
firmware. The other fixes then make it work again.
Best,
Sven
Signed-off-by: Sven Peter <sven@kernel.org>
---
Sven Peter (6):
nvme-apple: Destroy the admin queue on removal
nvme-apple: Don't set a DMA direction for commands without a data transfer
nvme-apple: Never set the opcode in the NVMMU TCB
nvme: Add a quirk for page aligned admin queue buffers
nvme-apple: Require page aligned buffers on the admin queue
nvme-apple: Drop the PRP null check chicken bit
drivers/nvme/host/apple.c | 32 +++++++++++++++-----------------
drivers/nvme/host/core.c | 5 ++++-
drivers/nvme/host/nvme.h | 7 +++++++
3 files changed, 26 insertions(+), 18 deletions(-)
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260806-b4-nvme-fwabi-000386148b21
Best regards,
--
Sven Peter <sven@kernel.org>
On Thu Aug 6, 2026 at 11:27 AM EDT, Sven Peter wrote: > Hi, > > This series fixes a bunch of bugs that were working fine with M1/M2 NVMe > controllers with older firmware but are now starting to bite us. > With macOS 15 a new firmware is installed for the controller and both > XNU and the controller are a bit more strict now. This firmware is > required once we add M4 support. > > The first patch fixes a panic that can happen when the controller fails > to initialize, which now happens for the first time with the new > firmware. The other fixes then make it work again. > > Best, > > Sven > > Signed-off-by: Sven Peter <sven@kernel.org> > --- > Sven Peter (6): > nvme-apple: Destroy the admin queue on removal > nvme-apple: Don't set a DMA direction for commands without a data transfer > nvme-apple: Never set the opcode in the NVMMU TCB > nvme: Add a quirk for page aligned admin queue buffers > nvme-apple: Require page aligned buffers on the admin queue > nvme-apple: Drop the PRP null check chicken bit > > drivers/nvme/host/apple.c | 32 +++++++++++++++----------------- > drivers/nvme/host/core.c | 5 ++++- > drivers/nvme/host/nvme.h | 7 +++++++ > 3 files changed, 26 insertions(+), 18 deletions(-) > --- > base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482 > change-id: 20260806-b4-nvme-fwabi-000386148b21 > > Best regards, > -- > Sven Peter <sven@kernel.org> On MacBookPro18,1 (J316s, 2021) with macOS 27 beta installed. Tested-by: Joshua Peisach <jpeisach@ubuntu.com>
On Thu, Aug 06, 2026 at 05:27:32PM +0200, Sven Peter wrote: > Hi, > > This series fixes a bunch of bugs that were working fine with M1/M2 NVMe > controllers with older firmware but are now starting to bite us. > With macOS 15 a new firmware is installed for the controller and both > XNU and the controller are a bit more strict now. This firmware is > required once we add M4 support. > > The first patch fixes a panic that can happen when the controller fails > to initialize, which now happens for the first time with the new > firmware. The other fixes then make it work again. Whole series tested on devices with pre macOS 15 system firmware, a M1 with system firmware 13.2 (OS firmware 12.3) and M1 Max with system firmware 14.5 (OS firmware 13.5). Tested-by: Janne Grunau <j@jannau.net> Janne
Sven Peter 於 2026/8/6 晚上11:27 寫道: > Hi, > > This series fixes a bunch of bugs that were working fine with M1/M2 NVMe > controllers with older firmware but are now starting to bite us. > With macOS 15 a new firmware is installed for the controller and both > XNU and the controller are a bit more strict now. This firmware is > required once we add M4 support. > > The first patch fixes a panic that can happen when the controller fails > to initialize, which now happens for the first time with the new > firmware. The other fixes then make it work again. For the whole series: Tested-by: Nick Chan <towinchenmi@gmail.com> # pre-M1 controllers > > Best, > > Sven > > Signed-off-by: Sven Peter <sven@kernel.org> > --- > Sven Peter (6): > nvme-apple: Destroy the admin queue on removal > nvme-apple: Don't set a DMA direction for commands without a data transfer > nvme-apple: Never set the opcode in the NVMMU TCB > nvme: Add a quirk for page aligned admin queue buffers > nvme-apple: Require page aligned buffers on the admin queue > nvme-apple: Drop the PRP null check chicken bit > > drivers/nvme/host/apple.c | 32 +++++++++++++++----------------- > drivers/nvme/host/core.c | 5 ++++- > drivers/nvme/host/nvme.h | 7 +++++++ > 3 files changed, 26 insertions(+), 18 deletions(-) > --- > base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482 > change-id: 20260806-b4-nvme-fwabi-000386148b21 > > Best regards, > -- > Sven Peter <sven@kernel.org> > > >
On Thu, Aug 06, 2026 at 05:27:32PM +0200, Sven Peter wrote: > Hi, > > This series fixes a bunch of bugs that were working fine with M1/M2 NVMe > controllers with older firmware but are now starting to bite us. > With macOS 15 a new firmware is installed for the controller and both > XNU and the controller are a bit more strict now. This firmware is > required once we add M4 support. > > The first patch fixes a panic that can happen when the controller fails > to initialize, which now happens for the first time with the new > firmware. The other fixes then make it work again. Thanks, applied to nvme-7.3.
© 2016 - 2026 Red Hat, Inc.