From: Jitendra Bhivare Date: Fri, 9 Oct 2015 10:08:19 +0000 (+0530) Subject: be2iscsi : Fix memory check before unmapping. X-Git-Tag: v4.1.12-92~259^2~1^2~6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5d55df741b145e5c91686b2541d8db77070b4ce9;p=users%2Fjedix%2Flinux-maple.git be2iscsi : Fix memory check before unmapping. Orabug: 21862307 Check DMA memory before it is unmapped. Signed-off-by: John Soni Jose Signed-off-by: Jayamohan Kallickal Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: Dan Duval --- diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c index 1f74760ce86cb..1310d9ea90b7f 100644 --- a/drivers/scsi/be2iscsi/be_main.c +++ b/drivers/scsi/be2iscsi/be_main.c @@ -1356,8 +1356,10 @@ be_complete_io(struct beiscsi_conn *beiscsi_conn, if (io_task->cmd_bhs->iscsi_hdr.flags & ISCSI_FLAG_CMD_READ) conn->rxdata_octets += resid; unmap: + if (io_task->scsi_cmnd) { scsi_dma_unmap(io_task->scsi_cmnd); io_task->scsi_cmnd = NULL; + } iscsi_complete_scsi_task(task, exp_cmdsn, max_cmdsn); } @@ -4580,11 +4582,13 @@ beiscsi_free_mgmt_task_handles(struct beiscsi_conn *beiscsi_conn, spin_unlock_bh(&phba->mgmt_sgl_lock); } - if (io_task->mtask_addr) + if (io_task->mtask_addr) { pci_unmap_single(phba->pcidev, io_task->mtask_addr, io_task->mtask_data_count, PCI_DMA_TODEVICE); + io_task->mtask_addr = 0; + } } /**