From: Martin Fuzzey Date: Mon, 22 Oct 2018 16:31:07 +0000 (+0200) Subject: w1-eeprom: ds24xxx: fix data abort in ds24xxx_probe() X-Git-Tag: v2025.01-rc5-pxa1908~3311 X-Git-Url: http://git.dujemihanovic.xyz/html/index.html?a=commitdiff_plain;h=586d4b010e8ff8894c29c65b68f2afb518a783c8;p=u-boot.git w1-eeprom: ds24xxx: fix data abort in ds24xxx_probe() Data abort was occurring when using "w1 bus" with a DS24B33 present. The abort occurred in the ds24xxx_probe() because the struct w1_device pointer was NULL. This is because that structure is allocated by the parent device uclass (by .per_child_platdata_auto_alloc_size) and thus the correct accessor is dev_get_parent_platdata() not dev_get_platdata() Signed-off-by: Martin Fuzzey Reviewed-by: Eugen Hristev --- diff --git a/drivers/w1-eeprom/ds24xxx.c b/drivers/w1-eeprom/ds24xxx.c index 56186e587c..0967accdf0 100644 --- a/drivers/w1-eeprom/ds24xxx.c +++ b/drivers/w1-eeprom/ds24xxx.c @@ -31,7 +31,7 @@ static int ds24xxx_probe(struct udevice *dev) { struct w1_device *w1; - w1 = dev_get_platdata(dev); + w1 = dev_get_parent_platdata(dev); w1->id = 0; return 0; }