[SCSI] hpsa: Check for dma_mapping_error in hpsa_map_one
authorShuah Khan <[email protected]>
Wed, 20 Feb 2013 17:24:34 +0000 (11:24 -0600)
committerJames Bottomley <[email protected]>
Sun, 24 Feb 2013 09:33:27 +0000 (09:33 +0000)
Signed-off-by: Shuah Khan <[email protected]>
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
drivers/scsi/hpsa.c

index 4f338061b5c3305f3863ef0360aab649da737f8a..3b4d195b49783beebe553249c0e79842935e219e 100644 (file)
@@ -1405,6 +1405,11 @@ static void hpsa_map_one(struct pci_dev *pdev,
        }
 
        addr64 = (u64) pci_map_single(pdev, buf, buflen, data_direction);
+       if (dma_mapping_error(&pdev->dev, addr64)) {
+               cp->Header.SGList = 0;
+               cp->Header.SGTotal = 0;
+               return;
+       }
        cp->SG[0].Addr.lower =
          (u32) (addr64 & (u64) 0x00000000FFFFFFFF);
        cp->SG[0].Addr.upper =