Re: Recent and not-so problems with tifm_sd driver

Pierre Ossman
2007-02-19T12:34:36Z

Alex Dubov wrote:
>
> mmc_rescan
> mmc_register_card
> device_add
> mmc_block_probe
> mmc_block_alloc
> -> queue thread starts running
> add_disk
> -> issues a lot of requests; card fails, my drivers calls mmc_remove_host, which in
> turn calls device_del, though we are still in device_add
>

Ahhh, now I see. Well that's an entirely different kettle of fish.

Removing the device in this stack is not supported (we would have a whole bunch
of nasty dead lock possibilities to consider). You need to delay the removal in
some form, e.g. using the mmc workqueue.

Rgds
--
-- Pierre Ossman

Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org