NVMe: Recognize the MacBook9,1 NVMe controller
PATCH 1/1 NVMe: Recognize the MacBook9,1 NVMe controller
With this patch, the flash drive of the April 2016 MacBook9,1 12" (A1534) is properly recognized and works just fine.
Signed-off-by Carina Willbold <nvme at elfenteich.de>
--- drivers/nvme/host/pci.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/nvme/host/pci.c +3 -0
@@ -1732,6 +1732,8 @@ static int nvme_pci_enable(struct nvme_dev *dev)/* * Temporary fix for the Apple controller found in the MacBook8,1 and * some MacBook7,1 to avoid controller resets and data loss. +* For the controller found in the MacBook9,1 (device ID 0x2003), it +* seems that this workaround is not necessary. */ if (pdev->vendor ==PCI_VENDOR_ID_APPLE && pdev->device ==0x2001 ) { dev->q_depth =2 ;
@@ -2181,6 +2183,7 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_IDENTIFY_CNS, }, { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001) }, + { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) }, /* for the MacBook 9,1 */ { 0, } };MODULE_DEVICE_TABLE (pci, nvme_id_table);
Signature · 1 line
2.8.2
PATCH 1/1 NVMe: Recognize the MacBook9,1 NVMe controller
Quoted 4 lines · Carina Willbold
With this patch, the flash drive of the April 2016 MacBook9,1 12" (A1534) is properly recognized and works just fine.
Signed-off-by Carina Willbold <nvme at elfenteich.de>
Reviewed-by Johannes Thumshirn <jthumshirn at suse.de>
Signature · 6 lines
Johannes Thumshirn Storage jthumshirn at suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg GF: Felix Imend?rffer, Jane Smithard, Graham Norton HRB 21284 (AG N?rnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
PATCH 1/1 NVMe: Recognize the MacBook9,1 NVMe controller
In reply to Carina Willbolddrivers/nvme/host/pci.c static int nvme_pci_enable(struct nvme_dev *dev) · line 1736
Quoted 3 lines
drivers/nvme/host/pci.c +2
-0* some MacBook7,1 to avoid controller resets and data loss. +* For the controller found in the MacBook9,1 (device ID 0x2003), it +* seems that this workaround is not necessary.
No need for this comment.
drivers/nvme/host/pci.c static const struct pci_device_id nvme_id_table[] = { · line 2186
Quoted 7 lines
drivers/nvme/host/pci.c +1
-0if (pdev->vendor ==PCI_VENDOR_ID_APPLE && pdev->device ==0x2001 ) { dev->q_depth =2 ;@@ -2181,6 +2183,7 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_IDENTIFY_CNS, }, { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001) }, + { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) }, /* for the MacBook 9,1 */
But it might be worth to have a comment above these two entries like
/*
* Controller that don't use the NVMe class code:
*/and skip the comment after your newly added entry.
Otherwise this looks fine:
Reviewed-by Christoph Hellwig <hch at lst.de>