summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorQuinn Jensen <quinn.jensen@freescale.com>2007-05-24 18:12:38 -0600
committerQuinn Jensen <quinn.jensen@freescale.com>2007-05-24 18:12:38 -0600
commitaf0e647babe79fe0c093644056c9b774b64d45ab (patch)
treec08efc3b1d10c65f42beba616fa1d2571842e4ca /drivers
parent1fe3ba287e4eb4a437a1f9e1c2d2f0a18ec76e7c (diff)
Bug ENGR00028972: Fix for onewire bootup delay without board mods.
http://www.bitshrine.org/gpp/linux-2.6.19.2-mx-1wire_boot_delay.patch
Diffstat (limited to 'drivers')
-rw-r--r--drivers/w1/masters/mxc_w1.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/w1/masters/mxc_w1.c b/drivers/w1/masters/mxc_w1.c
index 6f0c00c82f39..9ac5c646cfc0 100644
--- a/drivers/w1/masters/mxc_w1.c
+++ b/drivers/w1/masters/mxc_w1.c
@@ -240,14 +240,16 @@ void search_ROM_accelerator(void *data, u8 search_type,
reg_val = rn2[z] >> (8 * w);
mxc_w1_ds2_write_byte(data, reg_val);
reg_val = mxc_w1_read_byte(data);
+ if ((reg_val & 0x3) == 0x3) {
+ pr_debug("Device is Not Responding\n");
+ break;
+ }
for (j = 0; j < 8; j += 2) {
byte = 0xFF;
byte1 = 1;
byte ^= byte1 << j;
bit = (reg_val >> j) & 0x1;
bit2 = (reg_val >> j);
- if ((bit2 & 0x3) == 0x3)
- pr_debug("Device is Not Responding\n");
if (bit) {
prev_disc = disc;
disc = 8 * i + j;