Browse Source

mmc: dw_mmc: Run card detect tasklet during slot initialisation.

We need to run the card detect tasklet at the end of slot initialisation
as it is possible that a card has been inserted prior to boot, so we don't
see an insertion interrupt and now the card is sitting there inserted but
with no power to it.

Signed-off-by: Neil Jones <neil.jones@imgtec.com>
Signed-off-by: Will Newton <will.newton@imgtec.com>
Reviewed-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Will Newton 14 years ago
parent
commit
dd6c4b9807
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/mmc/host/dw_mmc.c

+ 6 - 0
drivers/mmc/host/dw_mmc.c

@@ -1441,6 +1441,12 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
 	/* Card initially undetected */
 	/* Card initially undetected */
 	slot->last_detect_state = 0;
 	slot->last_detect_state = 0;
 
 
+	/*
+	 * Card may have been plugged in prior to boot so we
+	 * need to run the detect tasklet
+	 */
+	tasklet_schedule(&host->card_tasklet);
+
 	return 0;
 	return 0;
 }
 }