Browse Source

[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>
Chad Dupuis 14 years ago
parent
commit
4d97cc5342
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/scsi/qla2xxx/qla_init.c

+ 1 - 1
drivers/scsi/qla2xxx/qla_init.c

@@ -71,7 +71,7 @@ qla2x00_ctx_sp_free(srb_t *sp)
 	struct srb_iocb *iocb = ctx->u.iocb_cmd;
 	struct srb_iocb *iocb = ctx->u.iocb_cmd;
 	struct scsi_qla_host *vha = sp->fcport->vha;
 	struct scsi_qla_host *vha = sp->fcport->vha;
 
 
-	del_timer_sync(&iocb->timer);
+	del_timer(&iocb->timer);
 	kfree(iocb);
 	kfree(iocb);
 	kfree(ctx);
 	kfree(ctx);
 	mempool_free(sp, sp->fcport->vha->hw->srb_mempool);
 	mempool_free(sp, sp->fcport->vha->hw->srb_mempool);