From ac1a474d71d6cbf94bf26889da5768f5f2b0ca2b Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Thu, 15 Apr 2010 13:32:58 -0700
Subject: [PATCH] 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>
---
 drivers/net/wireless/libertas/if_sdio.c | 5 +++++
 1 file changed, 5 insertions(+)

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);
-- 
GitLab