net: e1000: Add initialized eth_device & e1000_hw structure
nic and hw structures are allocated via malloc i.e. return memory is not zero initialized. Because of this few structure member like "function pointers" are initialized with garbage values. It may cause problem. for eg. during eth_initialize, dev->write_hwaddr is used. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Fixed typo. Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
parent
fe7f1883b7
commit
4b29bdb0ed
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user