Loading drivers/mmc/wbsd.c +218 −223 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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) { Loading @@ -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) Loading drivers/mmc/wbsd.h +11 −12 Original line number Diff line number Diff line Loading @@ -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 */ }; Loading
drivers/mmc/wbsd.c +218 −223 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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) { Loading @@ -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) Loading
drivers/mmc/wbsd.h +11 −12 Original line number Diff line number Diff line Loading @@ -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 */ };