Alex Dubov wrote:
> I removed that line altogether (it does not really needed as mmc host will
> not be accessed
> anymore). The problem is more elaborate. Here, the card fails,
> mmc_host_remove is called without
> sleep beforehand, and "after remove" message is printed immediately after it.
> Only then, mmc_block
> remembers to finish its business. If I leave the sleep in place, mmc_block's
> stuff will get
> scheduled before the mmc_remove_host and everything will be all right.
> You may also notice that host is already powered off ("Setting ... power 0"
> message) and still
> mmc_block continues to make requests like nothing happened.
>
I don't actually think that is what happening. The block errors tend to trail a
bit behind, so the errors you are seeing are probably the result of the queue
being flushed out as you remove the card. I don't see any mmc debug messages
that indicate that is trying to send more mmc requests.
You could add a printk to the queue thread in mmc_queue.c. That will allow you
to see exactly when it exits (which should be before mmc_remove_host() returns).
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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/