summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2014-07-16 16:50:18 +0200
committerMichael Brown2014-07-16 16:50:18 +0200
commit857e4f56a73e03109b08ecef225644009e6f0e6f (patch)
treed1761bf2692eb854d4eb0d60f80e4542efed0dca
parent[intel] Check for ioremap() failures (diff)
downloadipxe-857e4f56a73e03109b08ecef225644009e6f0e6f.tar.gz
ipxe-857e4f56a73e03109b08ecef225644009e6f0e6f.tar.xz
ipxe-857e4f56a73e03109b08ecef225644009e6f0e6f.zip
[realtek] Check for ioremap() failures
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/drivers/net/realtek.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/drivers/net/realtek.c b/src/drivers/net/realtek.c
index 7964475a..0aca8c77 100644
--- a/src/drivers/net/realtek.c
+++ b/src/drivers/net/realtek.c
@@ -1119,6 +1119,10 @@ static int realtek_probe ( struct pci_device *pci ) {
/* Map registers */
rtl->regs = ioremap ( pci->membase, RTL_BAR_SIZE );
+ if ( ! rtl->regs ) {
+ rc = -ENODEV;
+ goto err_ioremap;
+ }
/* Reset the NIC */
if ( ( rc = realtek_reset ( rtl ) ) != 0 )
@@ -1177,6 +1181,7 @@ static int realtek_probe ( struct pci_device *pci ) {
realtek_reset ( rtl );
err_reset:
iounmap ( rtl->regs );
+ err_ioremap:
netdev_nullify ( netdev );
netdev_put ( netdev );
err_alloc: