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

Commit bd6fe9e1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-mmc

parents 862aad56 210ce2a7
Loading
Loading
Loading
Loading
+218 −223
Original line number Diff line number Diff line
@@ -1136,6 +1136,7 @@ static void wbsd_tasklet_card(unsigned long param)
{
	struct wbsd_host* host = (struct wbsd_host*)param;
	u8 csr;
	int delay = -1;

	spin_lock(&host->lock);

@@ -1155,16 +1156,8 @@ static void wbsd_tasklet_card(unsigned long param)
			DBG("Card inserted\n");
			host->flags |= WBSD_FCARD_PRESENT;

			spin_unlock(&host->lock);

			/*
			 * Delay card detection to allow electrical connections
			 * to stabilise.
			 */
			mmc_detect_change(host->mmc, msecs_to_jiffies(500));
			delay = 500;
		}
		else
			spin_unlock(&host->lock);
	}
	else if (host->flags & WBSD_FCARD_PRESENT)
	{
@@ -1181,15 +1174,17 @@ static void wbsd_tasklet_card(unsigned long param)
			tasklet_schedule(&host->finish_tasklet);
		}

		delay = 0;
	}

	/*
	 * Unlock first since we might get a call back.
	 */
		spin_unlock(&host->lock);

		mmc_detect_change(host->mmc, 0);
	}
	else
	spin_unlock(&host->lock);

	if (delay != -1)
		mmc_detect_change(host->mmc, msecs_to_jiffies(delay));
}

static void wbsd_tasklet_fifo(unsigned long param)
+11 −12
Original line number Diff line number Diff line
@@ -184,6 +184,5 @@ struct wbsd_host
	struct tasklet_struct	finish_tasklet;
	struct tasklet_struct	block_tasklet;

	struct timer_list	detect_timer;	/* Card detection timer */
	struct timer_list	ignore_timer;	/* Ignore detection timer */
};