summaryrefslogtreecommitdiff
path: root/drivers/w1
diff options
context:
space:
mode:
authorMartin Fuzzey <martin.fuzzey@flowbird.group>2018-11-23 10:53:06 +0100
committerTom Rini <trini@konsulko.com>2018-12-06 17:15:15 -0500
commitb95938117cb2bd9b020305a58bd748a48e58d30a (patch)
treefe8fe9b422e6f9ae15751b9a6ba34862c13f112d /drivers/w1
parent57dbc151437b36cc1105857d222df28b095236d7 (diff)
downloadu-boot-b95938117cb2bd9b020305a58bd748a48e58d30a.tar.gz
w1: fix occasional enumeration failure
Sometimes enumeration fails (about 1 in 50 times on my custom board). The underlying reason is probably electrical but Linux does not have the problem. Comparing the Linux / u-boot implementations shows that Linux retries the error case whereas u-boot aborts early. Removing the early abort in u-boot fixes the problem. Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
Diffstat (limited to 'drivers/w1')
-rw-r--r--drivers/w1/w1-uclass.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/w1/w1-uclass.c b/drivers/w1/w1-uclass.c
index cb41b68eff..042b3b5ce0 100644
--- a/drivers/w1/w1-uclass.c
+++ b/drivers/w1/w1-uclass.c
@@ -84,10 +84,6 @@ static int w1_enumerate(struct udevice *bus)
rn |= (tmp64 << i);
}
- /* last device or error, aborting here */
- if ((triplet_ret & 0x03) == 0x03)
- last_device = true;
-
if ((triplet_ret & 0x03) != 0x03) {
if (desc_bit == last_zero || last_zero < 0) {
last_device = 1;