|
@@ -3620,19 +3620,7 @@ void ata_qc_free(struct ata_queued_cmd *qc)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * ata_qc_complete - Complete an active ATA command
|
|
|
- * @qc: Command to complete
|
|
|
- * @err_mask: ATA Status register contents
|
|
|
- *
|
|
|
- * Indicate to the mid and upper layers that an ATA
|
|
|
- * command has completed, with either an ok or not-ok status.
|
|
|
- *
|
|
|
- * LOCKING:
|
|
|
- * spin_lock_irqsave(host_set lock)
|
|
|
- */
|
|
|
-
|
|
|
-void ata_qc_complete(struct ata_queued_cmd *qc)
|
|
|
+inline void __ata_qc_complete(struct ata_queued_cmd *qc)
|
|
|
{
|
|
|
assert(qc != NULL); /* ata_qc_from_tag _might_ return NULL */
|
|
|
assert(qc->flags & ATA_QCFLAG_ACTIVE);
|
|
@@ -3650,6 +3638,25 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
|
|
|
qc->complete_fn(qc);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * ata_qc_complete - Complete an active ATA command
|
|
|
+ * @qc: Command to complete
|
|
|
+ * @err_mask: ATA Status register contents
|
|
|
+ *
|
|
|
+ * Indicate to the mid and upper layers that an ATA
|
|
|
+ * command has completed, with either an ok or not-ok status.
|
|
|
+ *
|
|
|
+ * LOCKING:
|
|
|
+ * spin_lock_irqsave(host_set lock)
|
|
|
+ */
|
|
|
+void ata_qc_complete(struct ata_queued_cmd *qc)
|
|
|
+{
|
|
|
+ if (unlikely(qc->flags & ATA_QCFLAG_EH_SCHEDULED))
|
|
|
+ return;
|
|
|
+
|
|
|
+ __ata_qc_complete(qc);
|
|
|
+}
|
|
|
+
|
|
|
static inline int ata_should_dma_map(struct ata_queued_cmd *qc)
|
|
|
{
|
|
|
struct ata_port *ap = qc->ap;
|