Albert Lee wrote:
+static int ata_hsm_move(struct ata_port *ap, struct ata_queued_cmd *qc,
+ u8 status, int in_wq)
{
+ unsigned long flags = 0;
+ int poll_next;
+
WARN_ON((qc->flags & ATA_QCFLAG_ACTIVE) == 0);
+ /* Make sure ata_qc_issue_prot() does not throw things
+ * like DMA polling into the workqueue. Notice that
+ * in_wq is not equivalent to (qc->tf.flags & ATA_TFLAG_POLLING).
+ */
+ WARN_ON(in_wq != ((qc->tf.flags & ATA_TFLAG_POLLING) ||
+ (ap->hsm_task_state == HSM_ST_FIRST &&
+ ((qc->tf.protocol == ATA_PROT_PIO &&
+ (qc->tf.flags & ATA_TFLAG_WRITE)) ||
+ (is_atapi_taskfile(&qc->tf) &&
+ !(qc->dev->flags & ATA_DFLAG_CDB_INTR))))));
applied patches 1-5 to the irq-pio branch.
Please provide a follow-up patch which makes the above test more
readable. For example:
static inline int things_ok_in_wq(input...)
{
if (test 1)
return 0;
if (test 2)
return 0;
return 1;
}
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html