Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73778120 authored by Pierre Ossman's avatar Pierre Ossman
Browse files

mmc: Fix mmc_delay() function



Several fixes for mmc_delay():

 * Repair if-clause that was supposed to detect sub-hz delays.
 * Change yield() to cond_resched() as yield() no longer has the
   semantics we desire.
 * mmc_delay() is used to guarantee protocol delays, so we cannot
   return early (i.e. use _interruptable).

Based on patch by Amol Lad.

Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
parent e45a1bd2
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -454,11 +454,11 @@ static void mmc_deselect_cards(struct mmc_host *host)

static inline void mmc_delay(unsigned int ms)
{
	if (ms < HZ / 1000) {
		yield();
	if (ms < 1000 / HZ) {
		cond_resched();
		mdelay(ms);
	} else {
		msleep_interruptible (ms);
		msleep(ms);
	}
}