summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/libertas
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-04-16 00:32:58 +0400
committerJohn W. Linville <linville@tuxdriver.com>2010-04-16 23:32:01 +0400
commitac1a474d71d6cbf94bf26889da5768f5f2b0ca2b (patch)
tree0dbe7b7becf550e7449c7b8da789177ded74c926 /drivers/net/wireless/libertas
parent96021f096e5178582af296a2fbb6df7dbd6b695c (diff)
downloadlinux-ac1a474d71d6cbf94bf26889da5768f5f2b0ca2b.tar.xz
libertas: Davinci platforms need more time loading helper firmware
Davinci platforms apparently need more time in-between helper firmware blocks. Even though this is an increased delay, we only take this hit once at initialization time. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r--drivers/net/wireless/libertas/if_sdio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c
index 60dc9b64381d..68cc407054e3 100644
--- a/drivers/net/wireless/libertas/if_sdio.c
+++ b/drivers/net/wireless/libertas/if_sdio.c
@@ -499,6 +499,11 @@ static int if_sdio_prog_helper(struct if_sdio_card *card)
if (ret)
goto release;
+ /* On some platforms (like Davinci) the chip needs more time
+ * between helper blocks.
+ */
+ mdelay(2);
+
chunk_size = min(size, (size_t)60);
*((__le32*)chunk_buffer) = cpu_to_le32(chunk_size);