wl1271: fix timeout in wl1271_top_reg_read
authorJuha Leppanen <juha_motorsportcom@luukku.com>
Mon, 4 Jan 2010 20:52:50 +0000 (15:52 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 4 Jan 2010 20:55:25 +0000 (15:55 -0500)
commit51633632ef614ef045f25d76fc7f0133d7cc60c6
treef61a36891c16ee81a51a343a315ad4e0a973440d
parent891dc5e73783eeabd2a704a9425e2a199b39c9f9
wl1271: fix timeout in wl1271_top_reg_read

I noticed a timeout bug in

/drivers/net/wireless/wl12xx/wl1271_spi.c

In the current code you cannot tell why you exited
the "poll for data ready" do-while loop if exiting
was done after the last possible loop.

Then timeout==0 regardless of (val & OCP_READY_MASK) or
!(val & OCP_READY_MASK), leading to possible false timeout...

Simple correction could be decreasing timeout after checking
for !(val & OCP_READY_MASK), not before

(Manually converted from email to an actual patch by me. -- JWL)

Reported-by: "Juha Leppanen" <juha_motorsportcom@luukku.com>
Signed-off-by: "Juha Leppanen" <juha_motorsportcom@luukku.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1271_spi.c