Re: Recent and not-so problems with tifm_sd driver

From: Pierre Ossman
Date: Sun Feb 11 2007 - 13:15:44 EST


Alex Dubov wrote:
>
> It just occurred to me that my synopsis of the problem was utterly lame.
> Here, the correct description:
> When the card is pulled out, I mark the host as "ejected" (so it fast-fails all the requests),
> sleep a little for it to relax and then call mmc_remove_host. Otherwise, nasty things happen.
> Here's the example not involving mmc_block at all (command 3 failed, hardware timeout was missed,
> so software timeout picked it up; the sleep hack is disabled):
>

I believe your problem is line 915 of tifm_sd.c:

> tifm_set_drvdata(sock, NULL);

You call that before mmc_free_host() (which flushes the work queue), and I
assume something still needs it. Put in some BUG_ON() here and there and you
should be able to catch it.

Rgds
--
-- Pierre Ossman

Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/