Re: [PATCH] fix: nvme_update_ns_info method should be called even if nvme_ms_ids_equal return false

Arman Hajishafieha
2022-05-24T17:07:54Z

On Tue, 2022-05-24 at 15:50 +0200, hch@lst.de wrote:
> On Mon, May 23, 2022 at 06:18:01PM +0000, Arman Hajishafieha wrote:
> > I can confirm that "MAXIO MAP1001" (1e4b:1001) controller found in
> > "Asgard N2 1TB SSD" suffers from the exact same issue as well.
> > After applying the patch to disable checking namespace identifiers
> > it
> > can resume from suspend normally. It seems like this issue affects
> > a
> > wider range of Maxio controllers.
> > Could you please add a quirk for this device as well?
>
> Please try this:
>
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 5a98a7de09642..cb4adc0c22843 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3453,6 +3453,8 @@ static const struct pci_device_id
> nvme_id_table[] = {
>                 .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
>         { PCI_DEVICE(0x2646, 0x2263),   /* KINGSTON A2000 NVMe SSD
> */
>                 .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
> +       { PCI_DEVICE(0x1e4B, 0x1001),   /* MAXIO MAP1001 */
> +               .driver_data = NVME_QUIRK_BOGUS_NID, },
>         { PCI_DEVICE(0x1e4B, 0x1002),   /* MAXIO MAP1002 */
>                 .driver_data = NVME_QUIRK_BOGUS_NID, },
>         { PCI_DEVICE(0x1e4B, 0x1202),   /* MAXIO MAP1202 */
>
>
I applied the patch against kernel 5.18.0
As dmesg log below shows, the quirk is applied correctly and resume
from suspend is working as expected.
Thank you

[ 1.684064] nvme 0000:04:00.0: platform quirk: setting simple
suspend
[ 1.684119] nvme nvme0: pci function 0000:04:00.0
[ 1.696073] nvme nvme0: missing or invalid SUBNQN field.
[ 1.699332] nvme nvme0: allocated 16 MiB host memory buffer.
[ 1.701789] nvme nvme0: 8/0/0 default/read/poll queues
[ 1.707999] nvme nvme0: Ignoring bogus Namespace Identifiers
[ 1.710368] nvme0n1: p1 p2 p3 p4 p5 p6 p7
[ 36.560018] XFS (nvme0n1p5): Mounting V5 Filesystem
[ 36.982002] XFS (nvme0n1p5): Ending clean mount
[ 91.027799] nvme nvme0: 8/0/0 default/read/poll queues
[ 91.034207] nvme nvme0: Ignoring bogus Namespace Identifiers