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@xxxxxxxxxxxxxx> --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox