Skip to contentSkip to conversation

at91_mci: Do a reset after each request

PATCH In review Nicolas Ferre 1 participant 1 message Jul 17, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/3 at91_mci: Do a reset after each request

From: Ville Syrjala <[email protected]>

Reset the controller after each transfer since we're violating the spec sometimes. This is very cheap, so we don't try to be clever.

---
Comment stolen from atmel_mci log.

We noticed that AT91SAM9260 board + Marvell 8686 SDIO WLAN adater are not happy without applying the MCI reset trick.

drivers/mmc/host/at91_mci.c | 5 ++---

1 files changed, 2 insertions(+), 3 deletions(-)
drivers/mmc/host/at91_mci.c +0 -0
index f3d725e..4e3edf3 100644
@@ -670,11 +670,10 @@ static void at91_mci_process_next(struct at91mci_host *host)
		at91_mci_send_command(host, host->request->stop);
	} else {
		del_timer(&host->timer);
-		/* the at91rm9200 mci controller hangs after some transfers,
+		/* the mci controller hangs after some transfers,
		 * and the workaround is to reset it after each transfer.
		 */
-		if (cpu_is_at91rm9200())
-			at91_reset_host(host);
+		at91_reset_host(host);
		mmc_request_done(host->mmc, host->request);
	}
}
Signature · 1 line
1.5.3.7