diff options
author | Chad Dupuis <chad.dupuis@qlogic.com> | 2010-10-15 14:27:41 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-10-25 17:00:08 -0400 |
commit | 4d97cc5342ebb1bef83477fafe18490dd8c59464 (patch) | |
tree | dea84bcfa0a460d9280e7fe4bcd852803d943da1 | |
parent | 4da26e162b69d89c3186a35a052c05e61a555637 (diff) |
[SCSI] qla2xxx: Change del_timer_sync() to del_timer() in qla2x00_ctx_sp_free().
Using del_timer_sync() in the qla2x00_ctx_sp_free() function may cause a kernel
panic as it is not interrupt context safe and qla2x00_ctx_sp_free() may be
called from a softirq context. Changing the call from del_timer_sync() to
del_timer() will make the function interrupt context safe.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 6ea537636b53..77c68a789681 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -71,7 +71,7 @@ qla2x00_ctx_sp_free(srb_t *sp) | |||
71 | struct srb_iocb *iocb = ctx->u.iocb_cmd; | 71 | struct srb_iocb *iocb = ctx->u.iocb_cmd; |
72 | struct scsi_qla_host *vha = sp->fcport->vha; | 72 | struct scsi_qla_host *vha = sp->fcport->vha; |
73 | 73 | ||
74 | del_timer_sync(&iocb->timer); | 74 | del_timer(&iocb->timer); |
75 | kfree(iocb); | 75 | kfree(iocb); |
76 | kfree(ctx); | 76 | kfree(ctx); |
77 | mempool_free(sp, sp->fcport->vha->hw->srb_mempool); | 77 | mempool_free(sp, sp->fcport->vha->hw->srb_mempool); |