Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-27 Thread Ulf Hansson
[...] >> > Actually, this is a Bug of __mmc_switch(), Per JEDEC Spec, while switch >> > speed mode, should not use CMD13 to get card status, as it's response >> > cannot reflect that if card was busy now, for this CMD6 switch HS200 >> >> There is a statement applicable to all HS modes, which says

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-27 Thread Ulf Hansson
[...] >> > Actually, this is a Bug of __mmc_switch(), Per JEDEC Spec, while switch >> > speed mode, should not use CMD13 to get card status, as it's response >> > cannot reflect that if card was busy now, for this CMD6 switch HS200 >> >> There is a statement applicable to all HS modes, which says

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-27 Thread Chaotian Jing
Hi, On Wed, 2016-04-27 at 12:02 +0200, Ulf Hansson wrote: > On 23 April 2016 at 11:43, Chaotian Jing wrote: > > Hi, > > On Fri, 2016-04-22 at 14:24 +0200, Ulf Hansson wrote: > >> On 18 April 2016 at 09:13, Chaotian Jing > >> wrote: > >> >

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-27 Thread Chaotian Jing
Hi, On Wed, 2016-04-27 at 12:02 +0200, Ulf Hansson wrote: > On 23 April 2016 at 11:43, Chaotian Jing wrote: > > Hi, > > On Fri, 2016-04-22 at 14:24 +0200, Ulf Hansson wrote: > >> On 18 April 2016 at 09:13, Chaotian Jing > >> wrote: > >> > there are 2 points will cause could not call

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-27 Thread Ulf Hansson
On 23 April 2016 at 11:43, Chaotian Jing wrote: > Hi, > On Fri, 2016-04-22 at 14:24 +0200, Ulf Hansson wrote: >> On 18 April 2016 at 09:13, Chaotian Jing wrote: >> > there are 2 points will cause could not call mmc_request_done() >> > and

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-27 Thread Ulf Hansson
On 23 April 2016 at 11:43, Chaotian Jing wrote: > Hi, > On Fri, 2016-04-22 at 14:24 +0200, Ulf Hansson wrote: >> On 18 April 2016 at 09:13, Chaotian Jing wrote: >> > there are 2 points will cause could not call mmc_request_done() >> > and eventually cause the caller thread blocked. >> > >> > A.

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-23 Thread Chaotian Jing
Hi, On Fri, 2016-04-22 at 14:24 +0200, Ulf Hansson wrote: > On 18 April 2016 at 09:13, Chaotian Jing wrote: > > there are 2 points will cause could not call mmc_request_done() > > and eventually cause the caller thread blocked. > > > > A. if card was busy,

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-23 Thread Chaotian Jing
Hi, On Fri, 2016-04-22 at 14:24 +0200, Ulf Hansson wrote: > On 18 April 2016 at 09:13, Chaotian Jing wrote: > > there are 2 points will cause could not call mmc_request_done() > > and eventually cause the caller thread blocked. > > > > A. if card was busy, cancel_delayed_work() will return false

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-22 Thread Ulf Hansson
On 18 April 2016 at 09:13, Chaotian Jing wrote: > there are 2 points will cause could not call mmc_request_done() > and eventually cause the caller thread blocked. > > A. if card was busy, cancel_delayed_work() will return false because > the delay work has not been

Re: [PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-22 Thread Ulf Hansson
On 18 April 2016 at 09:13, Chaotian Jing wrote: > there are 2 points will cause could not call mmc_request_done() > and eventually cause the caller thread blocked. > > A. if card was busy, cancel_delayed_work() will return false because > the delay work has not been scheduled, in this case, need

[PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-18 Thread Chaotian Jing
there are 2 points will cause could not call mmc_request_done() and eventually cause the caller thread blocked. A. if card was busy, cancel_delayed_work() will return false because the delay work has not been scheduled, in this case, need put mod_delayed_work() in front of msdc_cmd_is_ready() B.

[PATCH] mmc: mediatek: fix request blocked by cancel_delayed_work

2016-04-18 Thread Chaotian Jing
there are 2 points will cause could not call mmc_request_done() and eventually cause the caller thread blocked. A. if card was busy, cancel_delayed_work() will return false because the delay work has not been scheduled, in this case, need put mod_delayed_work() in front of msdc_cmd_is_ready() B.