[PATCH] mmc: use own work queue
The MMC layer uses the standard work queue for doing card detection. As this queue is shared with other crucial subsystems, the effects of a long (and perhaps buggy) detection can cause the system to be unusable. E.g. the keyboard stops working while the detection routine is running. The solution is to add a specific mmc work queue to run the detection code in. This is similar to how other subsystems handle detection (a full kernel thread is the most common theme). Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
8a4da1430f
commit
7104e2d5a8
@ -18,4 +18,8 @@ struct mmc_host *mmc_alloc_host_sysfs(int extra, struct device *dev);
|
||||
int mmc_add_host_sysfs(struct mmc_host *host);
|
||||
void mmc_remove_host_sysfs(struct mmc_host *host);
|
||||
void mmc_free_host_sysfs(struct mmc_host *host);
|
||||
|
||||
int mmc_schedule_work(struct work_struct *work);
|
||||
int mmc_schedule_delayed_work(struct work_struct *work, unsigned long delay);
|
||||
void mmc_flush_scheduled_work(void);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user