diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/ahci.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c index df779ba8749d..4bb77f62b3b9 100644 --- a/drivers/scsi/ahci.c +++ b/drivers/scsi/ahci.c | |||
@@ -164,6 +164,7 @@ enum { | |||
164 | 164 | ||
165 | /* ap->flags bits */ | 165 | /* ap->flags bits */ |
166 | AHCI_FLAG_RESET_NEEDS_CLO = (1 << 24), | 166 | AHCI_FLAG_RESET_NEEDS_CLO = (1 << 24), |
167 | AHCI_FLAG_NO_NCQ = (1 << 25), | ||
167 | }; | 168 | }; |
168 | 169 | ||
169 | struct ahci_cmd_hdr { | 170 | struct ahci_cmd_hdr { |
@@ -277,7 +278,7 @@ static const struct ata_port_info ahci_port_info[] = { | |||
277 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 278 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
278 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | | 279 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | |
279 | ATA_FLAG_SKIP_D2H_BSY | | 280 | ATA_FLAG_SKIP_D2H_BSY | |
280 | AHCI_FLAG_RESET_NEEDS_CLO, | 281 | AHCI_FLAG_RESET_NEEDS_CLO | AHCI_FLAG_NO_NCQ, |
281 | .pio_mask = 0x1f, /* pio0-4 */ | 282 | .pio_mask = 0x1f, /* pio0-4 */ |
282 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ | 283 | .udma_mask = 0x7f, /* udma0-6 ; FIXME */ |
283 | .port_ops = &ahci_ops, | 284 | .port_ops = &ahci_ops, |
@@ -1386,7 +1387,8 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1386 | if (rc) | 1387 | if (rc) |
1387 | goto err_out_hpriv; | 1388 | goto err_out_hpriv; |
1388 | 1389 | ||
1389 | if (hpriv->cap & HOST_CAP_NCQ) | 1390 | if (!(probe_ent->host_flags & AHCI_FLAG_NO_NCQ) && |
1391 | (hpriv->cap & HOST_CAP_NCQ)) | ||
1390 | probe_ent->host_flags |= ATA_FLAG_NCQ; | 1392 | probe_ent->host_flags |= ATA_FLAG_NCQ; |
1391 | 1393 | ||
1392 | ahci_print_info(probe_ent); | 1394 | ahci_print_info(probe_ent); |