When the address is invalid, we print out the address that's in info.addr, but that member of info hasn't been assigned yet. It's assigned in the line after we check the address. This causes the print to show something like i2c i2c-1: of_i2c: invalid addr=0 on ... when we want something like i2c i2c-1: of_i2c: invalid addr=0xaf on ... Just pass addr here, and update the print format to indicate hex as well. Signed-off-by: Stephen Boyd <stephen.boyd@xxxxxxxxxx> --- drivers/i2c/i2c-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index cf9e396d7702..9fec1c232d68 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c @@ -1707,8 +1707,8 @@ static struct i2c_client *of_i2c_register_device(struct i2c_adapter *adap, } if (i2c_check_addr_validity(addr, info.flags)) { - dev_err(&adap->dev, "of_i2c: invalid addr=%x on %s\n", - info.addr, node->full_name); + dev_err(&adap->dev, "of_i2c: invalid addr=%#x on %s\n", + addr, node->full_name); return ERR_PTR(-EINVAL); } -- 2.10.0.297.gf6727b0 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html