{
        int ret;
 
+       if (chip->pdev->revision == 0) {
+               chip->quirks |= SDHCI_QUIRK_32BIT_DMA_ADDR |
+                         SDHCI_QUIRK_32BIT_DMA_SIZE |
+                         SDHCI_QUIRK_RESET_AFTER_REQUEST;
+       }
+
        /*
         * JMicron chips can have two interfaces to the same hardware
         * in order to work around limitations in Microsoft's driver.
 }
 
 static const struct sdhci_pci_fixes sdhci_jmicron = {
-       .quirks         = SDHCI_QUIRK_32BIT_DMA_ADDR |
-                         SDHCI_QUIRK_32BIT_DMA_SIZE |
-                         SDHCI_QUIRK_RESET_AFTER_REQUEST,
-
        .probe          = jmicron_probe,
 
        .probe_slot     = jmicron_probe_slot,