ARM64: DTS: Fix Firefly board audio driver
[firefly-linux-kernel-4.4.55.git] / drivers / nvme / host / pci.c
index 37c5461050d0bf186f91016ad8d38196502c1c68..4cbc1807edfc3175417051eea08fdc66a3a6697d 100644 (file)
@@ -1633,10 +1633,15 @@ static int nvme_wait_ready(struct nvme_dev *dev, u64 cap, bool enabled)
  */
 static int nvme_disable_ctrl(struct nvme_dev *dev, u64 cap)
 {
+       struct pci_dev *pdev = to_pci_dev(dev->dev);
+
        dev->ctrl_config &= ~NVME_CC_SHN_MASK;
        dev->ctrl_config &= ~NVME_CC_ENABLE;
        writel(dev->ctrl_config, &dev->bar->cc);
 
+       if (pdev->vendor == 0x1c58 && pdev->device == 0x0003)
+               msleep(NVME_QUIRK_DELAY_AMOUNT);
+
        return nvme_wait_ready(dev, cap, false);
 }
 
@@ -2295,6 +2300,8 @@ static void nvme_alloc_ns(struct nvme_dev *dev, unsigned nsid)
 #else
        disk->is_rk_disk = false;
 #endif
+
+       disk->is_rk_disk = false;
        sprintf(disk->disk_name, "nvme%dn%d", dev->instance, nsid);
 
        /*