scsi: qla2xxx: Don't call dma_free_coherent with IRQ disabled.
The logo ELS command allocates dma coherent memory for the data payload and serialize the completions. When this command times out, the timeout routine completes the thread waiting for completion which in turn cleanup resources allocated for this ELS command processing. Don't call generic sp->free routine when this ELS command times out to avoid to double freeing of the same resources. Signed-off-by: Giridhar Malavali <giridhar.malavali@cavium.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
11aea16ab3
commit
045d6ea200
|
@ -59,7 +59,8 @@ qla2x00_sp_timeout(struct timer_list *t)
|
|||
req->outstanding_cmds[sp->handle] = NULL;
|
||||
iocb = &sp->u.iocb_cmd;
|
||||
iocb->timeout(sp);
|
||||
sp->free(sp);
|
||||
if (sp->type != SRB_ELS_DCMD)
|
||||
sp->free(sp);
|
||||
spin_unlock_irqrestore(&vha->hw->hardware_lock, flags);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue