[SCSI] libata: Pass correct DMA device to scsi host
authorLin Ming <ming.m.lin@intel.com>
Thu, 12 Apr 2012 05:50:39 +0000 (13:50 +0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 22 Apr 2012 18:00:21 +0000 (19:00 +0100)
Use scsi_add_host_with_dma in ata_scsi_add_hosts to pass in the
correct DMA device(ATA host).

Bug report: http://marc.info/?l=linux-ide&m=133177818318187&w=2

Reported-and-tested-by: Jörg Sommer <joerg@alea.gnuu.de>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

drivers/ata/libata-scsi.c

index 93dabdc..7832b1a 100644 (file)
@@ -3399,7 +3399,8 @@ int ata_scsi_add_hosts(struct ata_host *host, struct scsi_host_template *sht)
                 */
                shost->max_host_blocked = 1;
 
-               rc = scsi_add_host(ap->scsi_host, &ap->tdev);
+               rc = scsi_add_host_with_dma(ap->scsi_host,
+                                               &ap->tdev, ap->host->dev);
                if (rc)
                        goto err_add;
        }