[SCSI] qla2xxx: don't free pool that wasn't allocated
authorDan Carpenter <[email protected]>
Thu, 17 May 2012 07:13:40 +0000 (10:13 +0300)
committerJames Bottomley <[email protected]>
Tue, 22 May 2012 10:52:20 +0000 (11:52 +0100)
In the original code, if dma_pool_alloc() fails then we call
dma_pool_free().  It causes an error, possibly a NULL dereference.

Signed-off-by: Dan Carpenter <[email protected]>
Acked-by: Chad Dupuis <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
drivers/scsi/qla2xxx/qla_iocb.c

index 73cc96da9421591d9a2cfb5ae7289894819d3423..70dbf53d9e0f4fe0762073cb0bfec1508251fc8f 100644 (file)
@@ -2382,7 +2382,7 @@ sufficient_dsds:
                if (!ctx->fcp_cmnd) {
                        ql_log(ql_log_fatal, vha, 0x3011,
                            "Failed to allocate fcp_cmnd for cmd=%p.\n", cmd);
-                       goto queuing_error_fcp_cmnd;
+                       goto queuing_error;
                }
 
                /* Initialize the DSD list and dma handle */