Răsfoiți Sursa

[SCSI] hpsa: fix dma unmap error in hpsa_passthru_ioctl

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Stephen M. Cameron 14 ani în urmă
părinte
comite
c2dd32e026
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      drivers/scsi/hpsa.c

+ 2 - 1
drivers/scsi/hpsa.c

@@ -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 */