Messages in this thread |  | | | Date | Wed, 21 Sep 2011 09:26:51 +0900 | | Subject | Re: [PATCH] mmc : Use wait_for_completion_timeout() instead of wait_for_completion in case of write. | | From | NamJae Jeon <> |
| |
2011/9/21 Murali Krishna Palnati <palnati.muralikrishna@gmail.com>: > On Tue, Sep 20, 2011 at 7:52 PM, NamJae Jeon <linkinjeon@gmail.com> wrote: >> It may be no good choice that sw timer is on host driver. also I don't >> know what is different. > > It helps to have this functionality implemented at host controller > layer so that the host layer is informed about this. If we just end > the request from the MMC core layer, host controller driver doesnt > even kow about that and it remains in the same state processing the > request (that already got timed out at core layer). It is good to have > the host layer trigger this timeout, do necessary clean up and then > duly end the request by informing the core layer by calling > mmc_request_done(). > > Let me put the question in this way. If the core layer times out > (because of wait_for_completion_timeout) then in the patch that you > have submitted, i dont see how the host layer knows about it. > Apologize, if i sound like a broken record saying the same thing again > and again. >
I understand what you want. So I will add emergency_cleanup for host driver like this. struct mmc_host_ops { ................ ................. void (*emergency_cleanup)(struct mmc_host *host); } When timeout error happen, mmc core will call this function as soon as sending stop cmd. And when timeout error happen by wait_for_completion_timeout, calling mmc_request_done is not needed.
Thanks.
|  |