[SCSI] hpsa: fix dma unmap error in hpsa_passthru_ioctl
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Fri, 3 Jun 2011 14:57:29 +0000 (09:57 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 29 Jun 2011 17:09:53 +0000 (12:09 -0500)
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/hpsa.c

index c6c0434..a75122d 100644 (file)
@@ -2580,7 +2580,8 @@ static int hpsa_passthru_ioctl(struct ctlr_info *h, void __user *argp)
                c->SG[0].Ext = 0; /* we are not chaining*/
        }
        hpsa_scsi_do_simple_cmd_core(h, c);
-       hpsa_pci_unmap(h->pdev, c, 1, PCI_DMA_BIDIRECTIONAL);
+       if (iocommand.buf_size > 0)
+               hpsa_pci_unmap(h->pdev, c, 1, PCI_DMA_BIDIRECTIONAL);
        check_ioctl_unit_attention(h, c);
 
        /* Copy the error information out */