qc->flags &= ~ATA_QCFLAG_ACTIVE; 
void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat){	int rc;	assert(qc != NULL);	/* ata_qc_from_tag _might_ return NULL */	assert(qc->flags & ATA_QCFLAG_ACTIVE);	if (likely(qc->flags & ATA_QCFLAG_DMAMAP))		ata_sg_clean(qc);	/* call completion callback */	rc = qc->complete_fn(qc, drv_stat);	/* if callback indicates not to complete command (non-zero),	 * return immediately	 */	if (rc != 0)		return;	__ata_qc_complete(qc);	VPRINTK("EXIT\n");}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/21b1ed74ee3667dcabcba92e486988ea9119a085/libata-core.c/buggy/drivers/scsi/libata-core.c