diff options
-rw-r--r-- | drivers/net/wireless/libertas/if_sdio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 68cc407054e3..094176e92ebe 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c | |||
@@ -323,7 +323,9 @@ static int if_sdio_wait_status(struct if_sdio_card *card, const u8 condition) | |||
323 | timeout = jiffies + HZ; | 323 | timeout = jiffies + HZ; |
324 | while (1) { | 324 | while (1) { |
325 | status = sdio_readb(card->func, IF_SDIO_STATUS, &ret); | 325 | status = sdio_readb(card->func, IF_SDIO_STATUS, &ret); |
326 | if (ret || (status & condition)) | 326 | if (ret) |
327 | return ret; | ||
328 | if ((status & condition) == condition) | ||
327 | break; | 329 | break; |
328 | if (time_after(jiffies, timeout)) | 330 | if (time_after(jiffies, timeout)) |
329 | return -ETIMEDOUT; | 331 | return -ETIMEDOUT; |