diff options
Diffstat (limited to 'drivers/scsi/sata_qstor.c')
-rw-r--r-- | drivers/scsi/sata_qstor.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c index f6b716f4fab8..9c99ab433bd3 100644 --- a/drivers/scsi/sata_qstor.c +++ b/drivers/scsi/sata_qstor.c | |||
@@ -120,7 +120,7 @@ static void qs_phy_reset(struct ata_port *ap); | |||
120 | static void qs_qc_prep(struct ata_queued_cmd *qc); | 120 | static void qs_qc_prep(struct ata_queued_cmd *qc); |
121 | static int qs_qc_issue(struct ata_queued_cmd *qc); | 121 | static int qs_qc_issue(struct ata_queued_cmd *qc); |
122 | static int qs_check_atapi_dma(struct ata_queued_cmd *qc); | 122 | static int qs_check_atapi_dma(struct ata_queued_cmd *qc); |
123 | static void qs_bmdma_stop(struct ata_port *ap); | 123 | static void qs_bmdma_stop(struct ata_queued_cmd *qc); |
124 | static u8 qs_bmdma_status(struct ata_port *ap); | 124 | static u8 qs_bmdma_status(struct ata_port *ap); |
125 | static void qs_irq_clear(struct ata_port *ap); | 125 | static void qs_irq_clear(struct ata_port *ap); |
126 | static void qs_eng_timeout(struct ata_port *ap); | 126 | static void qs_eng_timeout(struct ata_port *ap); |
@@ -201,7 +201,7 @@ static int qs_check_atapi_dma(struct ata_queued_cmd *qc) | |||
201 | return 1; /* ATAPI DMA not supported */ | 201 | return 1; /* ATAPI DMA not supported */ |
202 | } | 202 | } |
203 | 203 | ||
204 | static void qs_bmdma_stop(struct ata_port *ap) | 204 | static void qs_bmdma_stop(struct ata_queued_cmd *qc) |
205 | { | 205 | { |
206 | /* nothing */ | 206 | /* nothing */ |
207 | } | 207 | } |
@@ -389,7 +389,8 @@ static inline unsigned int qs_intr_pkt(struct ata_host_set *host_set) | |||
389 | DPRINTK("SFF=%08x%08x: sCHAN=%u sHST=%d sDST=%02x\n", | 389 | DPRINTK("SFF=%08x%08x: sCHAN=%u sHST=%d sDST=%02x\n", |
390 | sff1, sff0, port_no, sHST, sDST); | 390 | sff1, sff0, port_no, sHST, sDST); |
391 | handled = 1; | 391 | handled = 1; |
392 | if (ap && (!(ap->flags & ATA_FLAG_PORT_DISABLED))) { | 392 | if (ap && !(ap->flags & |
393 | (ATA_FLAG_PORT_DISABLED|ATA_FLAG_NOINTR))) { | ||
393 | struct ata_queued_cmd *qc; | 394 | struct ata_queued_cmd *qc; |
394 | struct qs_port_priv *pp = ap->private_data; | 395 | struct qs_port_priv *pp = ap->private_data; |
395 | if (!pp || pp->state != qs_state_pkt) | 396 | if (!pp || pp->state != qs_state_pkt) |
@@ -420,7 +421,8 @@ static inline unsigned int qs_intr_mmio(struct ata_host_set *host_set) | |||
420 | for (port_no = 0; port_no < host_set->n_ports; ++port_no) { | 421 | for (port_no = 0; port_no < host_set->n_ports; ++port_no) { |
421 | struct ata_port *ap; | 422 | struct ata_port *ap; |
422 | ap = host_set->ports[port_no]; | 423 | ap = host_set->ports[port_no]; |
423 | if (ap && (!(ap->flags & ATA_FLAG_PORT_DISABLED))) { | 424 | if (ap && |
425 | !(ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) { | ||
424 | struct ata_queued_cmd *qc; | 426 | struct ata_queued_cmd *qc; |
425 | struct qs_port_priv *pp = ap->private_data; | 427 | struct qs_port_priv *pp = ap->private_data; |
426 | if (!pp || pp->state != qs_state_mmio) | 428 | if (!pp || pp->state != qs_state_mmio) |
@@ -434,7 +436,7 @@ static inline unsigned int qs_intr_mmio(struct ata_host_set *host_set) | |||
434 | continue; | 436 | continue; |
435 | DPRINTK("ata%u: protocol %d (dev_stat 0x%X)\n", | 437 | DPRINTK("ata%u: protocol %d (dev_stat 0x%X)\n", |
436 | ap->id, qc->tf.protocol, status); | 438 | ap->id, qc->tf.protocol, status); |
437 | 439 | ||
438 | /* complete taskfile transaction */ | 440 | /* complete taskfile transaction */ |
439 | pp->state = qs_state_idle; | 441 | pp->state = qs_state_idle; |
440 | ata_qc_complete(qc, status); | 442 | ata_qc_complete(qc, status); |