Re: Recent and not-so problems with tifm_sd driver

Alex Dubov
2007-02-18T23:48:24Z

> > This is hard to trigger problem, so I'll spare you the rather lengthy log.
> > It happens if card timeouts and mmc_remove_host is called while mmc_register_card is still in
> > progress (the hint was in crash dump). If I sleep before remove, it gives the
> mmc_register_card
> > chance to finish/mark card as dead and everything's fine.
> > The remove callback of mmc_block is apparently not executed in this case (probably because
> device
> > has not finished registering).
>
> Let's see, you manage to call mmc_remove_host() when a detection is pending in
> the workqueue? That could indeed generate new request (up until mmc_free_host()
> is called), but as the card is removed the mmc layer shouldn't be able to detect
> anything, hence mmc_block should never get involved.
>

You'll agree, I think, that add_disk in mmc_block_probe issues a lot of requests (reads partition
table, fs superblocks and such - plenty of room for critical errors). Then, driver's remove method
will not be called before driver's probe method had finished. So mmc_block is quite involved, even
though it does not affect the problem's resolution.

Besides this, I have a new version of the tifm driver to submit. It fixes quite a few problems and
improves performance a little. Hopefully, it's better tested than the previous one.

____________________________________________________________________________________
Finding fabulous fares is fun.
Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains.