Mark Lord wrote: > Tejun Heo wrote: >> Mark Lord wrote: >>> Tejun Heo wrote: >>>> Mark Lord wrote: >>>>> Tejun Heo wrote: >>>>>> Mark Lord wrote: >>>>>>> Tejun, >>> .. >>>>>> void ata_qc_issue(struct ata_queued_cmd *qc) >>>>>> { >>>>>> struct ata_port *ap = qc->ap; >>>>>> struct ata_link *link = qc->dev->link; >>>>>> >>>>>> /* Make sure only one non-NCQ command is outstanding. The >>>>>> * check is skipped for old EH because it reuses active qc to >>>>>> * request ATAPI sense. >>>>>> */ >>>>> = WARN_ON(ap->ops->error_handler && >>>> Hmm... Thanks. Do you have your ->qc_defer set? >>> .. >>> >>> Err.. no, never heard of it before (now). >>> >>> I suppose I should have it set to the default ? >> >> Yeah, just set it to ata_std_qc_defer(). > .. > > Super. And when I add FIS-based-switching PMP support on top of NCQ, > *then* what should it point at? If the controller can do FIS-based switching w/o any other restrictions, ata_std_qc_defer() can just stay. If there are restrictions, you need to roll your own qc_defer. sata_sil24 had to. For command-based switching, sata_pmp_qc_defer_cmd_switch() can be used. -- tejun - To unsubscribe from this list: 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