cciss: memory leak in cciss_init_one()
Eric Dumazet [Mon, 24 Aug 2009 08:01:53 +0000 (10:01 +0200)]
commit 22bece00dc1f28dd3374c55e464c9f02eb642876
(cciss: fix regression firmware not displayed in procfs)
added a small memory leak in cciss_init_one()

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

drivers/block/cciss.c

index a52cc7f..0589dfb 100644 (file)
@@ -3889,7 +3889,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
        int j = 0;
        int rc;
        int dac, return_code;
-       InquiryData_struct *inq_buff = NULL;
+       InquiryData_struct *inq_buff;
 
        if (reset_devices) {
                /* Reset the controller with a PCI power-cycle */
@@ -4029,6 +4029,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
                printk(KERN_WARNING "cciss: unable to determine firmware"
                        " version of controller\n");
        }
+       kfree(inq_buff);
 
        cciss_procinit(i);
 
@@ -4045,7 +4046,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
        return 1;
 
 clean4:
-       kfree(inq_buff);
        kfree(hba[i]->cmd_pool_bits);
        if (hba[i]->cmd_pool)
                pci_free_consistent(hba[i]->pdev,