diff options
| -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 2825342ff..18584efdd 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; |