Export mmc_flush_scheduled_work so that drivers that don't go through mmc_suspend_host/mmc_resume_host can make sure the stack is quiescent.
Note: if we send this patch upstream, it's okay if upstream prefers to use EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL. All other exports in mmc/core/core.c are EXPORT_SYMBOL, but it would be rude to open somebody else's hitherto internal interface and not use EXPORT_SYMBOL_GPL. Signed-off-by: Werner Almesberger <[EMAIL PROTECTED]> --- Index: ktrack/drivers/mmc/core/core.c =================================================================== --- ktrack.orig/drivers/mmc/core/core.c 2008-11-26 22:10:34.000000000 -0200 +++ ktrack/drivers/mmc/core/core.c 2008-11-26 22:22:15.000000000 -0200 @@ -57,10 +57,11 @@ /* * Internal function. Flush all scheduled work from the MMC work queue. */ -static void mmc_flush_scheduled_work(void) +void mmc_flush_scheduled_work(void) { flush_workqueue(workqueue); } +EXPORT_SYMBOL_GPL(mmc_flush_scheduled_work); /** * mmc_request_done - finish processing an MMC request Index: ktrack/include/linux/mmc/core.h =================================================================== --- ktrack.orig/include/linux/mmc/core.h 2008-11-26 22:15:14.000000000 -0200 +++ ktrack/include/linux/mmc/core.h 2008-11-26 22:21:43.000000000 -0200 @@ -129,6 +129,8 @@ struct mmc_host; struct mmc_card; +extern void mmc_flush_scheduled_work(void); + extern void mmc_wait_for_req(struct mmc_host *, struct mmc_request *); extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int); extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,