]> git.itanic.dy.fi Git - linux-stable/commitdiff
bnx2fc: scsi_dma_unmap() not invoked on IO completions
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>
Fri, 27 May 2011 18:47:26 +0000 (11:47 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:41:05 +0000 (11:41 -0700)
commit b5a95fe7ef464a67fab6ff870aa740739e788f90 upstream.

Do not set io_req->sc_cmd to NULL until bnx2fc_unmap_sg_list() is called to
enable it to unmap the DMA mappings.

Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bnx2fc/bnx2fc_io.c

index b5b5c346d7793b352066409ce85364e00c1b0ffa..454c72cdafbc8d9dae6df6ce63b4845fdaf78693 100644 (file)
@@ -1734,7 +1734,6 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req,
                printk(KERN_ERR PFX "SCp.ptr is NULL\n");
                return;
        }
-       io_req->sc_cmd = NULL;
 
        if (io_req->on_active_queue) {
                list_del_init(&io_req->link);
@@ -1754,6 +1753,7 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req,
        }
 
        bnx2fc_unmap_sg_list(io_req);
+       io_req->sc_cmd = NULL;
 
        switch (io_req->fcp_status) {
        case FC_GOOD: