diff options
| -rw-r--r-- | drivers/scsi/3w-9xxx.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/aacraid/commsup.c | 14 | ||||
| -rw-r--r-- | drivers/scsi/advansys.c | 12 | ||||
| -rw-r--r-- | drivers/scsi/aha1542.c | 36 | ||||
| -rw-r--r-- | drivers/scsi/aic7xxx_old.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/arm/queue.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/dc395x.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/dpt_i2o.c | 27 | ||||
| -rw-r--r-- | drivers/scsi/eata.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/ide-scsi.c | 10 | ||||
| -rw-r--r-- | drivers/scsi/ips.c | 18 | ||||
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 9 | ||||
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 6 | ||||
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_mbox.c | 7 | ||||
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.c | 7 | ||||
| -rw-r--r-- | drivers/scsi/megaraid/megaraid_mbox.c | 5 | ||||
| -rw-r--r-- | drivers/scsi/megaraid/megaraid_mm.c | 11 | ||||
| -rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 16 | ||||
| -rw-r--r-- | drivers/scsi/sg.c | 9 | ||||
| -rw-r--r-- | drivers/scsi/st.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/u14-34f.c | 9 |
21 files changed, 73 insertions, 141 deletions
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c index d06ee65d668d..3ff74f472249 100644 --- a/drivers/scsi/3w-9xxx.c +++ b/drivers/scsi/3w-9xxx.c | |||
| @@ -1017,8 +1017,7 @@ static void twa_free_device_extension(TW_Device_Extension *tw_dev) | |||
| 1017 | tw_dev->generic_buffer_virt[0], | 1017 | tw_dev->generic_buffer_virt[0], |
| 1018 | tw_dev->generic_buffer_phys[0]); | 1018 | tw_dev->generic_buffer_phys[0]); |
| 1019 | 1019 | ||
| 1020 | if (tw_dev->event_queue[0]) | 1020 | kfree(tw_dev->event_queue[0]); |
| 1021 | kfree(tw_dev->event_queue[0]); | ||
| 1022 | } /* End twa_free_device_extension() */ | 1021 | } /* End twa_free_device_extension() */ |
| 1023 | 1022 | ||
| 1024 | /* This function will free a request id */ | 1023 | /* This function will free a request id */ |
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c index ee9067255930..723c0cea7c04 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c | |||
| @@ -1164,7 +1164,7 @@ int aac_command_thread(struct aac_dev * dev) | |||
| 1164 | kfree(hw_fib_pool); | 1164 | kfree(hw_fib_pool); |
| 1165 | hw_fib_pool = NULL; | 1165 | hw_fib_pool = NULL; |
| 1166 | } | 1166 | } |
| 1167 | } else if (hw_fib_pool) { | 1167 | } else { |
| 1168 | kfree(hw_fib_pool); | 1168 | kfree(hw_fib_pool); |
| 1169 | hw_fib_pool = NULL; | 1169 | hw_fib_pool = NULL; |
| 1170 | } | 1170 | } |
| @@ -1247,17 +1247,13 @@ int aac_command_thread(struct aac_dev * dev) | |||
| 1247 | hw_fib_p = hw_fib_pool; | 1247 | hw_fib_p = hw_fib_pool; |
| 1248 | fib_p = fib_pool; | 1248 | fib_p = fib_pool; |
| 1249 | while (hw_fib_p < &hw_fib_pool[num]) { | 1249 | while (hw_fib_p < &hw_fib_pool[num]) { |
| 1250 | if (*hw_fib_p) | 1250 | kfree(*hw_fib_p); |
| 1251 | kfree(*hw_fib_p); | 1251 | kfree(*fib_p); |
| 1252 | if (*fib_p) | ||
| 1253 | kfree(*fib_p); | ||
| 1254 | ++fib_p; | 1252 | ++fib_p; |
| 1255 | ++hw_fib_p; | 1253 | ++hw_fib_p; |
| 1256 | } | 1254 | } |
| 1257 | if (hw_fib_pool) | 1255 | kfree(hw_fib_pool); |
| 1258 | kfree(hw_fib_pool); | 1256 | kfree(fib_pool); |
| 1259 | if (fib_pool) | ||
| 1260 | kfree(fib_pool); | ||
| 1261 | } | 1257 | } |
| 1262 | kfree(fib); | 1258 | kfree(fib); |
| 1263 | spin_lock_irqsave(dev->queues->queue[HostNormCmdQueue].lock, flags); | 1259 | spin_lock_irqsave(dev->queues->queue[HostNormCmdQueue].lock, flags); |
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index 37ec5411e325..f4cfb8f29620 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c | |||
| @@ -5402,10 +5402,8 @@ advansys_detect(struct scsi_host_template *tpnt) | |||
| 5402 | release_region(shp->io_port, boardp->asc_n_io_port); | 5402 | release_region(shp->io_port, boardp->asc_n_io_port); |
| 5403 | if (ASC_WIDE_BOARD(boardp)) { | 5403 | if (ASC_WIDE_BOARD(boardp)) { |
| 5404 | iounmap(boardp->ioremap_addr); | 5404 | iounmap(boardp->ioremap_addr); |
| 5405 | if (boardp->orig_carrp) { | 5405 | kfree(boardp->orig_carrp); |
| 5406 | kfree(boardp->orig_carrp); | 5406 | boardp->orig_carrp = NULL; |
| 5407 | boardp->orig_carrp = NULL; | ||
| 5408 | } | ||
| 5409 | if (boardp->orig_reqp) { | 5407 | if (boardp->orig_reqp) { |
| 5410 | kfree(boardp->orig_reqp); | 5408 | kfree(boardp->orig_reqp); |
| 5411 | boardp->orig_reqp = boardp->adv_reqp = NULL; | 5409 | boardp->orig_reqp = boardp->adv_reqp = NULL; |
| @@ -5457,10 +5455,8 @@ advansys_release(struct Scsi_Host *shp) | |||
| 5457 | adv_sgblk_t *sgp = NULL; | 5455 | adv_sgblk_t *sgp = NULL; |
| 5458 | 5456 | ||
| 5459 | iounmap(boardp->ioremap_addr); | 5457 | iounmap(boardp->ioremap_addr); |
| 5460 | if (boardp->orig_carrp) { | 5458 | kfree(boardp->orig_carrp); |
| 5461 | kfree(boardp->orig_carrp); | 5459 | boardp->orig_carrp = NULL; |
| 5462 | boardp->orig_carrp = NULL; | ||
| 5463 | } | ||
| 5464 | if (boardp->orig_reqp) { | 5460 | if (boardp->orig_reqp) { |
| 5465 | kfree(boardp->orig_reqp); | 5461 | kfree(boardp->orig_reqp); |
| 5466 | boardp->orig_reqp = boardp->adv_reqp = NULL; | 5462 | boardp->orig_reqp = boardp->adv_reqp = NULL; |
diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c index adda750412f2..1b1adfb384cb 100644 --- a/drivers/scsi/aha1542.c +++ b/drivers/scsi/aha1542.c | |||
| @@ -543,10 +543,8 @@ static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id, struct pt | |||
| 543 | return; | 543 | return; |
| 544 | } | 544 | } |
| 545 | my_done = SCtmp->scsi_done; | 545 | my_done = SCtmp->scsi_done; |
| 546 | if (SCtmp->host_scribble) { | 546 | kfree(SCtmp->host_scribble); |
| 547 | kfree(SCtmp->host_scribble); | 547 | SCtmp->host_scribble = NULL; |
| 548 | SCtmp->host_scribble = NULL; | ||
| 549 | } | ||
| 550 | /* Fetch the sense data, and tuck it away, in the required slot. The | 548 | /* Fetch the sense data, and tuck it away, in the required slot. The |
| 551 | Adaptec automatically fetches it, and there is no guarantee that | 549 | Adaptec automatically fetches it, and there is no guarantee that |
| 552 | we will still have it in the cdb when we come back */ | 550 | we will still have it in the cdb when we come back */ |
| @@ -1432,10 +1430,8 @@ static int aha1542_dev_reset(Scsi_Cmnd * SCpnt) | |||
| 1432 | HOSTDATA(SCpnt->host)->SCint[i]->target == SCpnt->target) { | 1430 | HOSTDATA(SCpnt->host)->SCint[i]->target == SCpnt->target) { |
| 1433 | Scsi_Cmnd *SCtmp; | 1431 | Scsi_Cmnd *SCtmp; |
| 1434 | SCtmp = HOSTDATA(SCpnt->host)->SCint[i]; | 1432 | SCtmp = HOSTDATA(SCpnt->host)->SCint[i]; |
| 1435 | if (SCtmp->host_scribble) { | 1433 | kfree(SCtmp->host_scribble); |
| 1436 | kfree(SCtmp->host_scribble); | 1434 | SCtmp->host_scribble = NULL; |
| 1437 | SCtmp->host_scribble = NULL; | ||
| 1438 | } | ||
| 1439 | HOSTDATA(SCpnt->host)->SCint[i] = NULL; | 1435 | HOSTDATA(SCpnt->host)->SCint[i] = NULL; |
| 1440 | HOSTDATA(SCpnt->host)->mb[i].status = 0; | 1436 | HOSTDATA(SCpnt->host)->mb[i].status = 0; |
| 1441 | } | 1437 | } |
| @@ -1495,10 +1491,8 @@ static int aha1542_bus_reset(Scsi_Cmnd * SCpnt) | |||
| 1495 | */ | 1491 | */ |
| 1496 | continue; | 1492 | continue; |
| 1497 | } | 1493 | } |
| 1498 | if (SCtmp->host_scribble) { | 1494 | kfree(SCtmp->host_scribble); |
| 1499 | kfree(SCtmp->host_scribble); | 1495 | SCtmp->host_scribble = NULL; |
| 1500 | SCtmp->host_scribble = NULL; | ||
| 1501 | } | ||
| 1502 | HOSTDATA(SCpnt->device->host)->SCint[i] = NULL; | 1496 | HOSTDATA(SCpnt->device->host)->SCint[i] = NULL; |
| 1503 | HOSTDATA(SCpnt->device->host)->mb[i].status = 0; | 1497 | HOSTDATA(SCpnt->device->host)->mb[i].status = 0; |
| 1504 | } | 1498 | } |
| @@ -1565,10 +1559,8 @@ static int aha1542_host_reset(Scsi_Cmnd * SCpnt) | |||
| 1565 | */ | 1559 | */ |
| 1566 | continue; | 1560 | continue; |
| 1567 | } | 1561 | } |
| 1568 | if (SCtmp->host_scribble) { | 1562 | kfree(SCtmp->host_scribble); |
| 1569 | kfree(SCtmp->host_scribble); | 1563 | SCtmp->host_scribble = NULL; |
| 1570 | SCtmp->host_scribble = NULL; | ||
| 1571 | } | ||
| 1572 | HOSTDATA(SCpnt->device->host)->SCint[i] = NULL; | 1564 | HOSTDATA(SCpnt->device->host)->SCint[i] = NULL; |
| 1573 | HOSTDATA(SCpnt->device->host)->mb[i].status = 0; | 1565 | HOSTDATA(SCpnt->device->host)->mb[i].status = 0; |
| 1574 | } | 1566 | } |
| @@ -1711,10 +1703,8 @@ static int aha1542_old_reset(Scsi_Cmnd * SCpnt, unsigned int reset_flags) | |||
| 1711 | Scsi_Cmnd *SCtmp; | 1703 | Scsi_Cmnd *SCtmp; |
| 1712 | SCtmp = HOSTDATA(SCpnt->host)->SCint[i]; | 1704 | SCtmp = HOSTDATA(SCpnt->host)->SCint[i]; |
| 1713 | SCtmp->result = DID_RESET << 16; | 1705 | SCtmp->result = DID_RESET << 16; |
| 1714 | if (SCtmp->host_scribble) { | 1706 | kfree(SCtmp->host_scribble); |
| 1715 | kfree(SCtmp->host_scribble); | 1707 | SCtmp->host_scribble = NULL; |
| 1716 | SCtmp->host_scribble = NULL; | ||
| 1717 | } | ||
| 1718 | printk(KERN_WARNING "Sending DID_RESET for target %d\n", SCpnt->target); | 1708 | printk(KERN_WARNING "Sending DID_RESET for target %d\n", SCpnt->target); |
| 1719 | SCtmp->scsi_done(SCpnt); | 1709 | SCtmp->scsi_done(SCpnt); |
| 1720 | 1710 | ||
| @@ -1757,10 +1747,8 @@ fail: | |||
| 1757 | Scsi_Cmnd *SCtmp; | 1747 | Scsi_Cmnd *SCtmp; |
| 1758 | SCtmp = HOSTDATA(SCpnt->host)->SCint[i]; | 1748 | SCtmp = HOSTDATA(SCpnt->host)->SCint[i]; |
| 1759 | SCtmp->result = DID_RESET << 16; | 1749 | SCtmp->result = DID_RESET << 16; |
| 1760 | if (SCtmp->host_scribble) { | 1750 | kfree(SCtmp->host_scribble); |
| 1761 | kfree(SCtmp->host_scribble); | 1751 | SCtmp->host_scribble = NULL; |
| 1762 | SCtmp->host_scribble = NULL; | ||
| 1763 | } | ||
| 1764 | printk(KERN_WARNING "Sending DID_RESET for target %d\n", SCpnt->target); | 1752 | printk(KERN_WARNING "Sending DID_RESET for target %d\n", SCpnt->target); |
| 1765 | SCtmp->scsi_done(SCpnt); | 1753 | SCtmp->scsi_done(SCpnt); |
| 1766 | 1754 | ||
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c index 52b72d7794f5..880e2d9ffe9b 100644 --- a/drivers/scsi/aic7xxx_old.c +++ b/drivers/scsi/aic7xxx_old.c | |||
| @@ -8492,8 +8492,7 @@ aic7xxx_free(struct aic7xxx_host *p) | |||
| 8492 | - scb_dma->dma_offset), | 8492 | - scb_dma->dma_offset), |
| 8493 | scb_dma->dma_address); | 8493 | scb_dma->dma_address); |
| 8494 | } | 8494 | } |
| 8495 | if (p->scb_data->scb_array[i]->kmalloc_ptr != NULL) | 8495 | kfree(p->scb_data->scb_array[i]->kmalloc_ptr); |
| 8496 | kfree(p->scb_data->scb_array[i]->kmalloc_ptr); | ||
| 8497 | p->scb_data->scb_array[i] = NULL; | 8496 | p->scb_data->scb_array[i] = NULL; |
| 8498 | } | 8497 | } |
| 8499 | 8498 | ||
diff --git a/drivers/scsi/arm/queue.c b/drivers/scsi/arm/queue.c index e6d159270d29..b10750bb5c09 100644 --- a/drivers/scsi/arm/queue.c +++ b/drivers/scsi/arm/queue.c | |||
| @@ -91,8 +91,7 @@ void queue_free (Queue_t *queue) | |||
| 91 | { | 91 | { |
| 92 | if (!list_empty(&queue->head)) | 92 | if (!list_empty(&queue->head)) |
| 93 | printk(KERN_WARNING "freeing non-empty queue %p\n", queue); | 93 | printk(KERN_WARNING "freeing non-empty queue %p\n", queue); |
| 94 | if (queue->alloc) | 94 | kfree(queue->alloc); |
| 95 | kfree(queue->alloc); | ||
| 96 | } | 95 | } |
| 97 | 96 | ||
| 98 | 97 | ||
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c index c44af5795b10..c8a32cf47d73 100644 --- a/drivers/scsi/dc395x.c +++ b/drivers/scsi/dc395x.c | |||
| @@ -4270,8 +4270,7 @@ static void adapter_sg_tables_free(struct AdapterCtlBlk *acb) | |||
| 4270 | const unsigned srbs_per_page = PAGE_SIZE/SEGMENTX_LEN; | 4270 | const unsigned srbs_per_page = PAGE_SIZE/SEGMENTX_LEN; |
| 4271 | 4271 | ||
| 4272 | for (i = 0; i < DC395x_MAX_SRB_CNT; i += srbs_per_page) | 4272 | for (i = 0; i < DC395x_MAX_SRB_CNT; i += srbs_per_page) |
| 4273 | if (acb->srb_array[i].segment_x) | 4273 | kfree(acb->srb_array[i].segment_x); |
| 4274 | kfree(acb->srb_array[i].segment_x); | ||
| 4275 | } | 4274 | } |
| 4276 | 4275 | ||
| 4277 | 4276 | ||
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c index 46d5571ec55a..c28e3aea1c3c 100644 --- a/drivers/scsi/dpt_i2o.c +++ b/drivers/scsi/dpt_i2o.c | |||
| @@ -1037,18 +1037,10 @@ static void adpt_i2o_delete_hba(adpt_hba* pHba) | |||
| 1037 | if(pHba->msg_addr_virt != pHba->base_addr_virt){ | 1037 | if(pHba->msg_addr_virt != pHba->base_addr_virt){ |
| 1038 | iounmap(pHba->msg_addr_virt); | 1038 | iounmap(pHba->msg_addr_virt); |
| 1039 | } | 1039 | } |
| 1040 | if(pHba->hrt) { | 1040 | kfree(pHba->hrt); |
| 1041 | kfree(pHba->hrt); | 1041 | kfree(pHba->lct); |
| 1042 | } | 1042 | kfree(pHba->status_block); |
| 1043 | if(pHba->lct){ | 1043 | kfree(pHba->reply_pool); |
| 1044 | kfree(pHba->lct); | ||
| 1045 | } | ||
| 1046 | if(pHba->status_block) { | ||
| 1047 | kfree(pHba->status_block); | ||
| 1048 | } | ||
| 1049 | if(pHba->reply_pool){ | ||
| 1050 | kfree(pHba->reply_pool); | ||
| 1051 | } | ||
| 1052 | 1044 | ||
| 1053 | for(d = pHba->devices; d ; d = next){ | 1045 | for(d = pHba->devices; d ; d = next){ |
| 1054 | next = d->next; | 1046 | next = d->next; |
| @@ -2706,14 +2698,12 @@ static s32 adpt_i2o_init_outbound_q(adpt_hba* pHba) | |||
| 2706 | // If the command was successful, fill the fifo with our reply | 2698 | // If the command was successful, fill the fifo with our reply |
| 2707 | // message packets | 2699 | // message packets |
| 2708 | if(*status != 0x04 /*I2O_EXEC_OUTBOUND_INIT_COMPLETE*/) { | 2700 | if(*status != 0x04 /*I2O_EXEC_OUTBOUND_INIT_COMPLETE*/) { |
| 2709 | kfree((void*)status); | 2701 | kfree(status); |
| 2710 | return -2; | 2702 | return -2; |
| 2711 | } | 2703 | } |
| 2712 | kfree((void*)status); | 2704 | kfree(status); |
| 2713 | 2705 | ||
| 2714 | if(pHba->reply_pool != NULL){ | 2706 | kfree(pHba->reply_pool); |
| 2715 | kfree(pHba->reply_pool); | ||
| 2716 | } | ||
| 2717 | 2707 | ||
| 2718 | pHba->reply_pool = (u32*)kmalloc(pHba->reply_fifo_size * REPLY_FRAME_SIZE * 4, GFP_KERNEL|ADDR32); | 2708 | pHba->reply_pool = (u32*)kmalloc(pHba->reply_fifo_size * REPLY_FRAME_SIZE * 4, GFP_KERNEL|ADDR32); |
| 2719 | if(!pHba->reply_pool){ | 2709 | if(!pHba->reply_pool){ |
| @@ -2929,8 +2919,7 @@ static int adpt_i2o_build_sys_table(void) | |||
| 2929 | sys_tbl_len = sizeof(struct i2o_sys_tbl) + // Header + IOPs | 2919 | sys_tbl_len = sizeof(struct i2o_sys_tbl) + // Header + IOPs |
| 2930 | (hba_count) * sizeof(struct i2o_sys_tbl_entry); | 2920 | (hba_count) * sizeof(struct i2o_sys_tbl_entry); |
| 2931 | 2921 | ||
| 2932 | if(sys_tbl) | 2922 | kfree(sys_tbl); |
| 2933 | kfree(sys_tbl); | ||
| 2934 | 2923 | ||
| 2935 | sys_tbl = kmalloc(sys_tbl_len, GFP_KERNEL|ADDR32); | 2924 | sys_tbl = kmalloc(sys_tbl_len, GFP_KERNEL|ADDR32); |
| 2936 | if(!sys_tbl) { | 2925 | if(!sys_tbl) { |
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c index b45a4c730230..b3f9de8f7595 100644 --- a/drivers/scsi/eata.c +++ b/drivers/scsi/eata.c | |||
| @@ -2580,8 +2580,7 @@ static int eata2x_release(struct Scsi_Host *shost) | |||
| 2580 | unsigned int i; | 2580 | unsigned int i; |
| 2581 | 2581 | ||
| 2582 | for (i = 0; i < shost->can_queue; i++) | 2582 | for (i = 0; i < shost->can_queue; i++) |
| 2583 | if ((&ha->cp[i])->sglist) | 2583 | kfree((&ha->cp[i])->sglist); |
| 2584 | kfree((&ha->cp[i])->sglist); | ||
| 2585 | 2584 | ||
| 2586 | for (i = 0; i < shost->can_queue; i++) | 2585 | for (i = 0; i < shost->can_queue; i++) |
| 2587 | pci_unmap_single(ha->pdev, ha->cp[i].cp_dma_addr, | 2586 | pci_unmap_single(ha->pdev, ha->cp[i].cp_dma_addr, |
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index f04f3289938d..c888af4a4562 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
| @@ -331,9 +331,9 @@ static int idescsi_check_condition(ide_drive_t *drive, struct request *failed_co | |||
| 331 | rq = kmalloc (sizeof (struct request), GFP_ATOMIC); | 331 | rq = kmalloc (sizeof (struct request), GFP_ATOMIC); |
| 332 | buf = kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_ATOMIC); | 332 | buf = kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_ATOMIC); |
| 333 | if (pc == NULL || rq == NULL || buf == NULL) { | 333 | if (pc == NULL || rq == NULL || buf == NULL) { |
| 334 | if (pc) kfree(pc); | 334 | kfree(buf); |
| 335 | if (rq) kfree(rq); | 335 | kfree(rq); |
| 336 | if (buf) kfree(buf); | 336 | kfree(pc); |
| 337 | return -ENOMEM; | 337 | return -ENOMEM; |
| 338 | } | 338 | } |
| 339 | memset (pc, 0, sizeof (idescsi_pc_t)); | 339 | memset (pc, 0, sizeof (idescsi_pc_t)); |
| @@ -949,8 +949,8 @@ static int idescsi_queue (struct scsi_cmnd *cmd, | |||
| 949 | spin_lock_irq(host->host_lock); | 949 | spin_lock_irq(host->host_lock); |
| 950 | return 0; | 950 | return 0; |
| 951 | abort: | 951 | abort: |
| 952 | if (pc) kfree (pc); | 952 | kfree (pc); |
| 953 | if (rq) kfree (rq); | 953 | kfree (rq); |
| 954 | cmd->result = DID_ERROR << 16; | 954 | cmd->result = DID_ERROR << 16; |
| 955 | done(cmd); | 955 | done(cmd); |
| 956 | return 0; | 956 | return 0; |
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c index 68e5b2ab27c4..cd9b95db5a7d 100644 --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c | |||
| @@ -4517,10 +4517,8 @@ ips_free(ips_ha_t * ha) | |||
| 4517 | ha->enq = NULL; | 4517 | ha->enq = NULL; |
| 4518 | } | 4518 | } |
| 4519 | 4519 | ||
| 4520 | if (ha->conf) { | 4520 | kfree(ha->conf); |
| 4521 | kfree(ha->conf); | 4521 | ha->conf = NULL; |
| 4522 | ha->conf = NULL; | ||
| 4523 | } | ||
| 4524 | 4522 | ||
| 4525 | if (ha->adapt) { | 4523 | if (ha->adapt) { |
| 4526 | pci_free_consistent(ha->pcidev, | 4524 | pci_free_consistent(ha->pcidev, |
| @@ -4538,15 +4536,11 @@ ips_free(ips_ha_t * ha) | |||
| 4538 | ha->logical_drive_info = NULL; | 4536 | ha->logical_drive_info = NULL; |
| 4539 | } | 4537 | } |
| 4540 | 4538 | ||
| 4541 | if (ha->nvram) { | 4539 | kfree(ha->nvram); |
| 4542 | kfree(ha->nvram); | 4540 | ha->nvram = NULL; |
| 4543 | ha->nvram = NULL; | ||
| 4544 | } | ||
| 4545 | 4541 | ||
| 4546 | if (ha->subsys) { | 4542 | kfree(ha->subsys); |
| 4547 | kfree(ha->subsys); | 4543 | ha->subsys = NULL; |
| 4548 | ha->subsys = NULL; | ||
| 4549 | } | ||
| 4550 | 4544 | ||
| 4551 | if (ha->ioctl_data) { | 4545 | if (ha->ioctl_data) { |
| 4552 | pci_free_consistent(ha->pcidev, ha->ioctl_len, | 4546 | pci_free_consistent(ha->pcidev, ha->ioctl_len, |
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 08a0c00cfc30..bcc29ec126dc 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
| @@ -127,8 +127,7 @@ lpfc_prep_els_iocb(struct lpfc_hba * phba, | |||
| 127 | if (((pcmd = kmalloc(sizeof (struct lpfc_dmabuf), GFP_KERNEL)) == 0) || | 127 | if (((pcmd = kmalloc(sizeof (struct lpfc_dmabuf), GFP_KERNEL)) == 0) || |
| 128 | ((pcmd->virt = lpfc_mbuf_alloc(phba, | 128 | ((pcmd->virt = lpfc_mbuf_alloc(phba, |
| 129 | MEM_PRI, &(pcmd->phys))) == 0)) { | 129 | MEM_PRI, &(pcmd->phys))) == 0)) { |
| 130 | if (pcmd) | 130 | kfree(pcmd); |
| 131 | kfree(pcmd); | ||
| 132 | 131 | ||
| 133 | spin_lock_irq(phba->host->host_lock); | 132 | spin_lock_irq(phba->host->host_lock); |
| 134 | lpfc_sli_release_iocbq(phba, elsiocb); | 133 | lpfc_sli_release_iocbq(phba, elsiocb); |
| @@ -145,8 +144,7 @@ lpfc_prep_els_iocb(struct lpfc_hba * phba, | |||
| 145 | prsp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, | 144 | prsp->virt = lpfc_mbuf_alloc(phba, MEM_PRI, |
| 146 | &prsp->phys); | 145 | &prsp->phys); |
| 147 | if (prsp == 0 || prsp->virt == 0) { | 146 | if (prsp == 0 || prsp->virt == 0) { |
| 148 | if (prsp) | 147 | kfree(prsp); |
| 149 | kfree(prsp); | ||
| 150 | lpfc_mbuf_free(phba, pcmd->virt, pcmd->phys); | 148 | lpfc_mbuf_free(phba, pcmd->virt, pcmd->phys); |
| 151 | kfree(pcmd); | 149 | kfree(pcmd); |
| 152 | spin_lock_irq(phba->host->host_lock); | 150 | spin_lock_irq(phba->host->host_lock); |
| @@ -172,8 +170,7 @@ lpfc_prep_els_iocb(struct lpfc_hba * phba, | |||
| 172 | lpfc_mbuf_free(phba, prsp->virt, prsp->phys); | 170 | lpfc_mbuf_free(phba, prsp->virt, prsp->phys); |
| 173 | kfree(pcmd); | 171 | kfree(pcmd); |
| 174 | kfree(prsp); | 172 | kfree(prsp); |
| 175 | if (pbuflist) | 173 | kfree(pbuflist); |
| 176 | kfree(pbuflist); | ||
| 177 | return NULL; | 174 | return NULL; |
| 178 | } | 175 | } |
| 179 | 176 | ||
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 4e04470321a2..c90723860a04 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
| @@ -894,8 +894,7 @@ lpfc_post_buffer(struct lpfc_hba * phba, struct lpfc_sli_ring * pring, int cnt, | |||
| 894 | mp1->virt = lpfc_mbuf_alloc(phba, MEM_PRI, | 894 | mp1->virt = lpfc_mbuf_alloc(phba, MEM_PRI, |
| 895 | &mp1->phys); | 895 | &mp1->phys); |
| 896 | if (mp1 == 0 || mp1->virt == 0) { | 896 | if (mp1 == 0 || mp1->virt == 0) { |
| 897 | if (mp1) | 897 | kfree(mp1); |
| 898 | kfree(mp1); | ||
| 899 | spin_lock_irq(phba->host->host_lock); | 898 | spin_lock_irq(phba->host->host_lock); |
| 900 | lpfc_sli_release_iocbq(phba, iocb); | 899 | lpfc_sli_release_iocbq(phba, iocb); |
| 901 | spin_unlock_irq(phba->host->host_lock); | 900 | spin_unlock_irq(phba->host->host_lock); |
| @@ -911,8 +910,7 @@ lpfc_post_buffer(struct lpfc_hba * phba, struct lpfc_sli_ring * pring, int cnt, | |||
| 911 | mp2->virt = lpfc_mbuf_alloc(phba, MEM_PRI, | 910 | mp2->virt = lpfc_mbuf_alloc(phba, MEM_PRI, |
| 912 | &mp2->phys); | 911 | &mp2->phys); |
| 913 | if (mp2 == 0 || mp2->virt == 0) { | 912 | if (mp2 == 0 || mp2->virt == 0) { |
| 914 | if (mp2) | 913 | kfree(mp2); |
| 915 | kfree(mp2); | ||
| 916 | lpfc_mbuf_free(phba, mp1->virt, mp1->phys); | 914 | lpfc_mbuf_free(phba, mp1->virt, mp1->phys); |
| 917 | kfree(mp1); | 915 | kfree(mp1); |
| 918 | spin_lock_irq(phba->host->host_lock); | 916 | spin_lock_irq(phba->host->host_lock); |
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c index 31c20cc00609..e3bc8d3f7302 100644 --- a/drivers/scsi/lpfc/lpfc_mbox.c +++ b/drivers/scsi/lpfc/lpfc_mbox.c | |||
| @@ -248,8 +248,7 @@ lpfc_read_sparam(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb) | |||
| 248 | 248 | ||
| 249 | if (((mp = kmalloc(sizeof (struct lpfc_dmabuf), GFP_KERNEL)) == 0) || | 249 | if (((mp = kmalloc(sizeof (struct lpfc_dmabuf), GFP_KERNEL)) == 0) || |
| 250 | ((mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys))) == 0)) { | 250 | ((mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys))) == 0)) { |
| 251 | if (mp) | 251 | kfree(mp); |
| 252 | kfree(mp); | ||
| 253 | mb->mbxCommand = MBX_READ_SPARM64; | 252 | mb->mbxCommand = MBX_READ_SPARM64; |
| 254 | /* READ_SPARAM: no buffers */ | 253 | /* READ_SPARAM: no buffers */ |
| 255 | lpfc_printf_log(phba, | 254 | lpfc_printf_log(phba, |
| @@ -363,9 +362,7 @@ lpfc_reg_login(struct lpfc_hba * phba, | |||
| 363 | /* Get a buffer to hold NPorts Service Parameters */ | 362 | /* Get a buffer to hold NPorts Service Parameters */ |
| 364 | if (((mp = kmalloc(sizeof (struct lpfc_dmabuf), GFP_KERNEL)) == NULL) || | 363 | if (((mp = kmalloc(sizeof (struct lpfc_dmabuf), GFP_KERNEL)) == NULL) || |
| 365 | ((mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys))) == 0)) { | 364 | ((mp->virt = lpfc_mbuf_alloc(phba, 0, &(mp->phys))) == 0)) { |
| 366 | if (mp) | 365 | kfree(mp); |
| 367 | kfree(mp); | ||
| 368 | |||
| 369 | mb->mbxCommand = MBX_REG_LOGIN64; | 366 | mb->mbxCommand = MBX_REG_LOGIN64; |
| 370 | /* REG_LOGIN: no buffers */ | 367 | /* REG_LOGIN: no buffers */ |
| 371 | lpfc_printf_log(phba, | 368 | lpfc_printf_log(phba, |
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 508710001ed6..e2c08c5d83fb 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c | |||
| @@ -2269,11 +2269,8 @@ lpfc_sli_hba_down(struct lpfc_hba * phba) | |||
| 2269 | 2269 | ||
| 2270 | INIT_LIST_HEAD(&(pring->txq)); | 2270 | INIT_LIST_HEAD(&(pring->txq)); |
| 2271 | 2271 | ||
| 2272 | if (pring->fast_lookup) { | 2272 | kfree(pring->fast_lookup); |
| 2273 | kfree(pring->fast_lookup); | 2273 | pring->fast_lookup = NULL; |
| 2274 | pring->fast_lookup = NULL; | ||
| 2275 | } | ||
| 2276 | |||
| 2277 | } | 2274 | } |
| 2278 | 2275 | ||
| 2279 | spin_unlock_irqrestore(phba->host->host_lock, flags); | 2276 | spin_unlock_irqrestore(phba->host->host_lock, flags); |
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c index c9e743ba09ec..1a3d195a2d36 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c | |||
| @@ -3937,9 +3937,8 @@ megaraid_sysfs_free_resources(adapter_t *adapter) | |||
| 3937 | { | 3937 | { |
| 3938 | mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); | 3938 | mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); |
| 3939 | 3939 | ||
| 3940 | if (raid_dev->sysfs_uioc) kfree(raid_dev->sysfs_uioc); | 3940 | kfree(raid_dev->sysfs_uioc); |
| 3941 | 3941 | kfree(raid_dev->sysfs_mbox64); | |
| 3942 | if (raid_dev->sysfs_mbox64) kfree(raid_dev->sysfs_mbox64); | ||
| 3943 | 3942 | ||
| 3944 | if (raid_dev->sysfs_buffer) { | 3943 | if (raid_dev->sysfs_buffer) { |
| 3945 | pci_free_consistent(adapter->pdev, PAGE_SIZE, | 3944 | pci_free_consistent(adapter->pdev, PAGE_SIZE, |
diff --git a/drivers/scsi/megaraid/megaraid_mm.c b/drivers/scsi/megaraid/megaraid_mm.c index 37d110e864c4..8f3ce0432295 100644 --- a/drivers/scsi/megaraid/megaraid_mm.c +++ b/drivers/scsi/megaraid/megaraid_mm.c | |||
| @@ -995,17 +995,13 @@ pthru_dma_pool_error: | |||
| 995 | 995 | ||
| 996 | memalloc_error: | 996 | memalloc_error: |
| 997 | 997 | ||
| 998 | if (adapter->kioc_list) | 998 | kfree(adapter->kioc_list); |
| 999 | kfree(adapter->kioc_list); | 999 | kfree(adapter->mbox_list); |
| 1000 | |||
| 1001 | if (adapter->mbox_list) | ||
| 1002 | kfree(adapter->mbox_list); | ||
| 1003 | 1000 | ||
| 1004 | if (adapter->pthru_dma_pool) | 1001 | if (adapter->pthru_dma_pool) |
| 1005 | pci_pool_destroy(adapter->pthru_dma_pool); | 1002 | pci_pool_destroy(adapter->pthru_dma_pool); |
| 1006 | 1003 | ||
| 1007 | if (adapter) | 1004 | kfree(adapter); |
| 1008 | kfree(adapter); | ||
| 1009 | 1005 | ||
| 1010 | return rval; | 1006 | return rval; |
| 1011 | } | 1007 | } |
| @@ -1157,7 +1153,6 @@ mraid_mm_free_adp_resources(mraid_mmadp_t *adp) | |||
| 1157 | } | 1153 | } |
| 1158 | 1154 | ||
| 1159 | kfree(adp->kioc_list); | 1155 | kfree(adp->kioc_list); |
| 1160 | |||
| 1161 | kfree(adp->mbox_list); | 1156 | kfree(adp->mbox_list); |
| 1162 | 1157 | ||
| 1163 | pci_pool_destroy(adp->pthru_dma_pool); | 1158 | pci_pool_destroy(adp->pthru_dma_pool); |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 290a6b92616c..72d9090df3df 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
| @@ -1977,8 +1977,7 @@ qla2x00_configure_local_loop(scsi_qla_host_t *ha) | |||
| 1977 | } | 1977 | } |
| 1978 | 1978 | ||
| 1979 | cleanup_allocation: | 1979 | cleanup_allocation: |
| 1980 | if (new_fcport) | 1980 | kfree(new_fcport); |
| 1981 | kfree(new_fcport); | ||
| 1982 | 1981 | ||
| 1983 | if (rval != QLA_SUCCESS) { | 1982 | if (rval != QLA_SUCCESS) { |
| 1984 | DEBUG2(printk("scsi(%ld): Configure local loop error exit: " | 1983 | DEBUG2(printk("scsi(%ld): Configure local loop error exit: " |
| @@ -2348,8 +2347,7 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *ha, struct list_head *new_fcports) | |||
| 2348 | /* Allocate temporary fcport for any new fcports discovered. */ | 2347 | /* Allocate temporary fcport for any new fcports discovered. */ |
| 2349 | new_fcport = qla2x00_alloc_fcport(ha, GFP_KERNEL); | 2348 | new_fcport = qla2x00_alloc_fcport(ha, GFP_KERNEL); |
| 2350 | if (new_fcport == NULL) { | 2349 | if (new_fcport == NULL) { |
| 2351 | if (swl) | 2350 | kfree(swl); |
| 2352 | kfree(swl); | ||
| 2353 | return (QLA_MEMORY_ALLOC_FAILED); | 2351 | return (QLA_MEMORY_ALLOC_FAILED); |
| 2354 | } | 2352 | } |
| 2355 | new_fcport->flags |= (FCF_FABRIC_DEVICE | FCF_LOGIN_NEEDED); | 2353 | new_fcport->flags |= (FCF_FABRIC_DEVICE | FCF_LOGIN_NEEDED); |
| @@ -2485,19 +2483,15 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *ha, struct list_head *new_fcports) | |||
| 2485 | nxt_d_id.b24 = new_fcport->d_id.b24; | 2483 | nxt_d_id.b24 = new_fcport->d_id.b24; |
| 2486 | new_fcport = qla2x00_alloc_fcport(ha, GFP_KERNEL); | 2484 | new_fcport = qla2x00_alloc_fcport(ha, GFP_KERNEL); |
| 2487 | if (new_fcport == NULL) { | 2485 | if (new_fcport == NULL) { |
| 2488 | if (swl) | 2486 | kfree(swl); |
| 2489 | kfree(swl); | ||
| 2490 | return (QLA_MEMORY_ALLOC_FAILED); | 2487 | return (QLA_MEMORY_ALLOC_FAILED); |
| 2491 | } | 2488 | } |
| 2492 | new_fcport->flags |= (FCF_FABRIC_DEVICE | FCF_LOGIN_NEEDED); | 2489 | new_fcport->flags |= (FCF_FABRIC_DEVICE | FCF_LOGIN_NEEDED); |
| 2493 | new_fcport->d_id.b24 = nxt_d_id.b24; | 2490 | new_fcport->d_id.b24 = nxt_d_id.b24; |
| 2494 | } | 2491 | } |
| 2495 | 2492 | ||
| 2496 | if (swl) | 2493 | kfree(swl); |
| 2497 | kfree(swl); | 2494 | kfree(new_fcport); |
| 2498 | |||
| 2499 | if (new_fcport) | ||
| 2500 | kfree(new_fcport); | ||
| 2501 | 2495 | ||
| 2502 | if (!list_empty(new_fcports)) | 2496 | if (!list_empty(new_fcports)) |
| 2503 | ha->device_flags |= DFLG_FABRIC_DEVICES; | 2497 | ha->device_flags |= DFLG_FABRIC_DEVICES; |
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 4f30a37db63c..62e3f340cc52 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c | |||
| @@ -476,8 +476,7 @@ sg_read(struct file *filp, char __user *buf, size_t count, loff_t * ppos) | |||
| 476 | sg_finish_rem_req(srp); | 476 | sg_finish_rem_req(srp); |
| 477 | retval = count; | 477 | retval = count; |
| 478 | free_old_hdr: | 478 | free_old_hdr: |
| 479 | if (old_hdr) | 479 | kfree(old_hdr); |
| 480 | kfree(old_hdr); | ||
| 481 | return retval; | 480 | return retval; |
| 482 | } | 481 | } |
| 483 | 482 | ||
| @@ -1703,10 +1702,8 @@ exit_sg(void) | |||
| 1703 | sg_sysfs_valid = 0; | 1702 | sg_sysfs_valid = 0; |
| 1704 | unregister_chrdev_region(MKDEV(SCSI_GENERIC_MAJOR, 0), | 1703 | unregister_chrdev_region(MKDEV(SCSI_GENERIC_MAJOR, 0), |
| 1705 | SG_MAX_DEVS); | 1704 | SG_MAX_DEVS); |
| 1706 | if (sg_dev_arr != NULL) { | 1705 | kfree((char *)sg_dev_arr); |
| 1707 | kfree((char *) sg_dev_arr); | 1706 | sg_dev_arr = NULL; |
| 1708 | sg_dev_arr = NULL; | ||
| 1709 | } | ||
| 1710 | sg_dev_max = 0; | 1707 | sg_dev_max = 0; |
| 1711 | } | 1708 | } |
| 1712 | 1709 | ||
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 6b85f84c8397..770c4324f3d5 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c | |||
| @@ -4107,8 +4107,7 @@ out_free_tape: | |||
| 4107 | write_unlock(&st_dev_arr_lock); | 4107 | write_unlock(&st_dev_arr_lock); |
| 4108 | out_put_disk: | 4108 | out_put_disk: |
| 4109 | put_disk(disk); | 4109 | put_disk(disk); |
| 4110 | if (tpnt) | 4110 | kfree(tpnt); |
| 4111 | kfree(tpnt); | ||
| 4112 | out_buffer_free: | 4111 | out_buffer_free: |
| 4113 | kfree(buffer); | 4112 | kfree(buffer); |
| 4114 | out: | 4113 | out: |
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c index cfab8f197084..1ce29ba683eb 100644 --- a/drivers/scsi/u14-34f.c +++ b/drivers/scsi/u14-34f.c | |||
| @@ -1953,11 +1953,11 @@ static int u14_34f_release(struct Scsi_Host *shpnt) { | |||
| 1953 | 1953 | ||
| 1954 | for (j = 0; sh[j] != NULL && sh[j] != shpnt; j++); | 1954 | for (j = 0; sh[j] != NULL && sh[j] != shpnt; j++); |
| 1955 | 1955 | ||
| 1956 | if (sh[j] == NULL) panic("%s: release, invalid Scsi_Host pointer.\n", | 1956 | if (sh[j] == NULL) |
| 1957 | driver_name); | 1957 | panic("%s: release, invalid Scsi_Host pointer.\n", driver_name); |
| 1958 | 1958 | ||
| 1959 | for (i = 0; i < sh[j]->can_queue; i++) | 1959 | for (i = 0; i < sh[j]->can_queue; i++) |
| 1960 | if ((&HD(j)->cp[i])->sglist) kfree((&HD(j)->cp[i])->sglist); | 1960 | kfree((&HD(j)->cp[i])->sglist); |
| 1961 | 1961 | ||
| 1962 | for (i = 0; i < sh[j]->can_queue; i++) | 1962 | for (i = 0; i < sh[j]->can_queue; i++) |
| 1963 | pci_unmap_single(HD(j)->pdev, HD(j)->cp[i].cp_dma_addr, | 1963 | pci_unmap_single(HD(j)->pdev, HD(j)->cp[i].cp_dma_addr, |
| @@ -1965,7 +1965,8 @@ static int u14_34f_release(struct Scsi_Host *shpnt) { | |||
| 1965 | 1965 | ||
| 1966 | free_irq(sh[j]->irq, &sha[j]); | 1966 | free_irq(sh[j]->irq, &sha[j]); |
| 1967 | 1967 | ||
| 1968 | if (sh[j]->dma_channel != NO_DMA) free_dma(sh[j]->dma_channel); | 1968 | if (sh[j]->dma_channel != NO_DMA) |
| 1969 | free_dma(sh[j]->dma_channel); | ||
| 1969 | 1970 | ||
| 1970 | release_region(sh[j]->io_port, sh[j]->n_io_port); | 1971 | release_region(sh[j]->io_port, sh[j]->n_io_port); |
| 1971 | scsi_unregister(sh[j]); | 1972 | scsi_unregister(sh[j]); |
