[PATCH] net/e1000: fix driver probing in the presence of two e1000 devices

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Thu Jan 11 01:03:26 PST 2018


The .id member of the struct device for the invm device is not
initialized and so implicitly zero. This yields:

	register_device: already registered invm0

for the second i210 during probe.

So use the parent's id to initialize the id for invm, too, as is already
done for the corresponding e1000-nor device.

Fixes: a74b97f009c6 ("e1000: Expose i210's iNVM as a cdev")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
---
 drivers/net/e1000/eeprom.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c
index 23fb05ec72bc..748d8afe7922 100644
--- a/drivers/net/e1000/eeprom.c
+++ b/drivers/net/e1000/eeprom.c
@@ -1504,6 +1504,7 @@ int e1000_register_invm(struct e1000_hw *hw)
 		return ret;
 
 	strcpy(hw->invm.dev.name, "invm");
+	hw->invm.dev.id = hw->dev->id;
 	hw->invm.dev.parent = hw->dev;
 	ret = register_device(&hw->invm.dev);
 	if (ret < 0) {
-- 
2.11.0




More information about the barebox mailing list