|
@@ -4919,10 +4919,11 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev)
|
|
|
*/
|
|
|
void ata_qc_free(struct ata_queued_cmd *qc)
|
|
|
{
|
|
|
- struct ata_port *ap = qc->ap;
|
|
|
+ struct ata_port *ap;
|
|
|
unsigned int tag;
|
|
|
|
|
|
WARN_ON_ONCE(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
|
|
|
+ ap = qc->ap;
|
|
|
|
|
|
qc->flags = 0;
|
|
|
tag = qc->tag;
|
|
@@ -4934,11 +4935,13 @@ void ata_qc_free(struct ata_queued_cmd *qc)
|
|
|
|
|
|
void __ata_qc_complete(struct ata_queued_cmd *qc)
|
|
|
{
|
|
|
- struct ata_port *ap = qc->ap;
|
|
|
- struct ata_link *link = qc->dev->link;
|
|
|
+ struct ata_port *ap;
|
|
|
+ struct ata_link *link;
|
|
|
|
|
|
WARN_ON_ONCE(qc == NULL); /* ata_qc_from_tag _might_ return NULL */
|
|
|
WARN_ON_ONCE(!(qc->flags & ATA_QCFLAG_ACTIVE));
|
|
|
+ ap = qc->ap;
|
|
|
+ link = qc->dev->link;
|
|
|
|
|
|
if (likely(qc->flags & ATA_QCFLAG_DMAMAP))
|
|
|
ata_sg_clean(qc);
|