Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 29421
b: refs/heads/master
c: 31ce6da
h: refs/heads/master
i:
  29419: 57036eb
v: v3
  • Loading branch information
Albert Lee authored and Jeff Garzik committed Apr 4, 2006
1 parent 7fd8947 commit 686857d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4332a771f4d2f23a6d3beff3dd5405e79775a211
refs/heads/master: 31ce6daefe2d312e31ee06b0b3301b1cb7878c04
15 changes: 6 additions & 9 deletions trunk/drivers/scsi/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -4097,9 +4097,6 @@ static void ata_pio_task(void *_data)
fsm_start:
WARN_ON(ap->hsm_task_state == HSM_ST_IDLE);

qc = ata_qc_from_tag(ap, ap->active_tag);
WARN_ON(qc == NULL);

/*
* This is purely heuristic. This is a fast path.
* Sometimes when we enter, BSY will be cleared in
Expand All @@ -4112,7 +4109,7 @@ static void ata_pio_task(void *_data)
msleep(2);
status = ata_busy_wait(ap, ATA_BUSY, 10);
if (status & ATA_BUSY) {
ata_port_queue_task(ap, ata_pio_task, ap, ATA_SHORT_PAUSE);
ata_port_queue_task(ap, ata_pio_task, qc, ATA_SHORT_PAUSE);
return;
}
}
Expand Down Expand Up @@ -4347,7 +4344,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
ap->hsm_task_state = HSM_ST_LAST;

if (qc->tf.flags & ATA_TFLAG_POLLING)
ata_port_queue_task(ap, ata_pio_task, ap, 0);
ata_port_queue_task(ap, ata_pio_task, qc, 0);

break;

Expand All @@ -4369,7 +4366,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
if (qc->tf.flags & ATA_TFLAG_WRITE) {
/* PIO data out protocol */
ap->hsm_task_state = HSM_ST_FIRST;
ata_port_queue_task(ap, ata_pio_task, ap, 0);
ata_port_queue_task(ap, ata_pio_task, qc, 0);

/* always send first data block using
* the ata_pio_task() codepath.
Expand All @@ -4379,7 +4376,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
ap->hsm_task_state = HSM_ST;

if (qc->tf.flags & ATA_TFLAG_POLLING)
ata_port_queue_task(ap, ata_pio_task, ap, 0);
ata_port_queue_task(ap, ata_pio_task, qc, 0);

/* if polling, ata_pio_task() handles the rest.
* otherwise, interrupt handler takes over from here.
Expand All @@ -4400,7 +4397,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
/* send cdb by polling if no cdb interrupt */
if ((!(qc->dev->flags & ATA_DFLAG_CDB_INTR)) ||
(qc->tf.flags & ATA_TFLAG_POLLING))
ata_port_queue_task(ap, ata_pio_task, ap, 0);
ata_port_queue_task(ap, ata_pio_task, qc, 0);
break;

case ATA_PROT_ATAPI_DMA:
Expand All @@ -4412,7 +4409,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)

/* send cdb by polling if no cdb interrupt */
if (!(qc->dev->flags & ATA_DFLAG_CDB_INTR))
ata_port_queue_task(ap, ata_pio_task, ap, 0);
ata_port_queue_task(ap, ata_pio_task, qc, 0);
break;

default:
Expand Down

0 comments on commit 686857d

Please sign in to comment.