diff options
Diffstat (limited to 'drivers/net/e1000.c')
-rw-r--r-- | drivers/net/e1000.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 2825342..18584ef 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -5177,7 +5177,21 @@ e1000_initialize(bd_t * bis) } nic = (struct eth_device *) malloc(sizeof (*nic)); + if (!nic) { + printf("Error: e1000 - Can not alloc memory\n"); + return 0; + } + hw = (struct e1000_hw *) malloc(sizeof (*hw)); + if (!hw) { + free(nic); + printf("Error: e1000 - Can not alloc memory\n"); + return 0; + } + + memset(nic, 0, sizeof(*dev)); + memset(hw, 0, sizeof(*hw)); + hw->pdev = devno; nic->priv = hw; |