libertas: Davinci platforms need more time loading helper firmware
authorDan Williams <dcbw@redhat.com>
Thu, 15 Apr 2010 20:32:58 +0000 (13:32 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 16 Apr 2010 19:32:01 +0000 (15:32 -0400)
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>
drivers/net/wireless/libertas/if_sdio.c

index 60dc9b64381d8679abfa29d2174246a7dcf0bfce..68cc407054e3f2e4284a22c5be2257c53d6f9122 100644 (file)
@@ -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);