aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libata-core.c')
-rw-r--r--drivers/scsi/libata-core.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 36b401fee1f1..73b1f72b7e43 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -1408,7 +1408,9 @@ void __sata_phy_reset(struct ata_port *ap)
1408 if (ap->flags & ATA_FLAG_SATA_RESET) { 1408 if (ap->flags & ATA_FLAG_SATA_RESET) {
1409 /* issue phy wake/reset */ 1409 /* issue phy wake/reset */
1410 scr_write_flush(ap, SCR_CONTROL, 0x301); 1410 scr_write_flush(ap, SCR_CONTROL, 0x301);
1411 udelay(400); /* FIXME: a guess */ 1411 /* Couldn't find anything in SATA I/II specs, but
1412 * AHCI-1.1 10.4.2 says at least 1 ms. */
1413 mdelay(1);
1412 } 1414 }
1413 scr_write_flush(ap, SCR_CONTROL, 0x300); /* phy wake/clear reset */ 1415 scr_write_flush(ap, SCR_CONTROL, 0x300); /* phy wake/clear reset */
1414 1416
@@ -1920,6 +1922,7 @@ static const char * ata_dma_blacklist [] = {
1920 "HITACHI CDR-8335", 1922 "HITACHI CDR-8335",
1921 "HITACHI CDR-8435", 1923 "HITACHI CDR-8435",
1922 "Toshiba CD-ROM XM-6202B", 1924 "Toshiba CD-ROM XM-6202B",
1925 "TOSHIBA CD-ROM XM-1702BC",
1923 "CD-532E-A", 1926 "CD-532E-A",
1924 "E-IDE CD-ROM CR-840", 1927 "E-IDE CD-ROM CR-840",
1925 "CD-ROM Drive/F5A", 1928 "CD-ROM Drive/F5A",
@@ -1927,7 +1930,6 @@ static const char * ata_dma_blacklist [] = {
1927 "SAMSUNG CD-ROM SC-148C", 1930 "SAMSUNG CD-ROM SC-148C",
1928 "SAMSUNG CD-ROM SC", 1931 "SAMSUNG CD-ROM SC",
1929 "SanDisk SDP3B-64", 1932 "SanDisk SDP3B-64",
1930 "SAMSUNG CD-ROM SN-124",
1931 "ATAPI CD-ROM DRIVE 40X MAXIMUM", 1933 "ATAPI CD-ROM DRIVE 40X MAXIMUM",
1932 "_NEC DV5800A", 1934 "_NEC DV5800A",
1933}; 1935};
@@ -2864,7 +2866,7 @@ static void ata_qc_timeout(struct ata_queued_cmd *qc)
2864 if (qc->dev->class == ATA_DEV_ATAPI && qc->scsicmd) { 2866 if (qc->dev->class == ATA_DEV_ATAPI && qc->scsicmd) {
2865 struct scsi_cmnd *cmd = qc->scsicmd; 2867 struct scsi_cmnd *cmd = qc->scsicmd;
2866 2868
2867 if (!scsi_eh_eflags_chk(cmd, SCSI_EH_CANCEL_CMD)) { 2869 if (!(cmd->eh_eflags & SCSI_EH_CANCEL_CMD)) {
2868 2870
2869 /* finish completing original command */ 2871 /* finish completing original command */
2870 __ata_qc_complete(qc); 2872 __ata_qc_complete(qc);
@@ -3748,7 +3750,7 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host,
3748 host->max_channel = 1; 3750 host->max_channel = 1;
3749 host->unique_id = ata_unique_id++; 3751 host->unique_id = ata_unique_id++;
3750 host->max_cmd_len = 12; 3752 host->max_cmd_len = 12;
3751 scsi_set_device(host, ent->dev); 3753
3752 scsi_assign_lock(host, &host_set->lock); 3754 scsi_assign_lock(host, &host_set->lock);
3753 3755
3754 ap->flags = ATA_FLAG_PORT_DISABLED; 3756 ap->flags = ATA_FLAG_PORT_DISABLED;