ipack: add error handling for ioremap_nocache
authorZhouyang Jia <jiazhouyang09@gmail.com>
Tue, 12 Jun 2018 03:07:21 +0000 (11:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jul 2018 15:19:27 +0000 (17:19 +0200)
When ioremap_nocache fails, the lack of error-handling code may
cause unexpected results.

This patch adds error-handling code after calling ioremap_nocache.

Signed-off-by: Zhouyang Jia <jiazhouyang09@gmail.com>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ipack/carriers/tpci200.c

index a16b320..8a9c169 100644 (file)
@@ -304,6 +304,13 @@ static int tpci200_register(struct tpci200_board *tpci200)
                ioremap_nocache(pci_resource_start(tpci200->info->pdev,
                                           TPCI200_IP_INTERFACE_BAR),
                        TPCI200_IFACE_SIZE);
+       if (!tpci200->info->interface_regs) {
+               dev_err(&tpci200->info->pdev->dev,
+                       "(bn 0x%X, sn 0x%X) failed to map driver user space!",
+                       tpci200->info->pdev->bus->number,
+                       tpci200->info->pdev->devfn);
+               goto out_release_mem8_space;
+       }
 
        /* Initialize lock that protects interface_regs */
        spin_lock_init(&tpci200->regs_lock);