From: Michael Brown Date: Wed, 16 Jul 2014 14:49:08 +0000 (+0100) Subject: [intel] Check for ioremap() failures X-Git-Tag: v1.20.1~1130 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ce2b56af6b37a9916c779645c7c8b5c0fbdb881;p=thirdparty%2Fipxe.git [intel] Check for ioremap() failures Debugged-by: Anton D. Kachalov Signed-off-by: Michael Brown --- diff --git a/src/drivers/net/intel.c b/src/drivers/net/intel.c index 771a4c824..f2ee4f4d2 100644 --- a/src/drivers/net/intel.c +++ b/src/drivers/net/intel.c @@ -819,6 +819,10 @@ static int intel_probe ( struct pci_device *pci ) { /* Map registers */ intel->regs = ioremap ( pci->membase, INTEL_BAR_SIZE ); + if ( ! intel->regs ) { + rc = -ENODEV; + goto err_ioremap; + } /* Reset the NIC */ if ( ( rc = intel_reset ( intel ) ) != 0 ) @@ -843,6 +847,7 @@ static int intel_probe ( struct pci_device *pci ) { intel_reset ( intel ); err_reset: iounmap ( intel->regs ); + err_ioremap: netdev_nullify ( netdev ); netdev_put ( netdev ); err_alloc: diff --git a/src/drivers/net/intelx.c b/src/drivers/net/intelx.c index eb8b2a640..defea9dac 100644 --- a/src/drivers/net/intelx.c +++ b/src/drivers/net/intelx.c @@ -400,6 +400,10 @@ static int intelx_probe ( struct pci_device *pci ) { /* Map registers */ intel->regs = ioremap ( pci->membase, INTEL_BAR_SIZE ); + if ( ! intel->regs ) { + rc = -ENODEV; + goto err_ioremap; + } /* Reset the NIC */ if ( ( rc = intelx_reset ( intel ) ) != 0 ) @@ -424,6 +428,7 @@ static int intelx_probe ( struct pci_device *pci ) { intelx_reset ( intel ); err_reset: iounmap ( intel->regs ); + err_ioremap: netdev_nullify ( netdev ); netdev_put ( netdev ); err_alloc: