Re: [PATCH] mmc: jz4740: don't wait for PRG_DONE after stop command with R1 response

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29 April 2014 13:07, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
> On 29 April 2014 10:32, Alex Smith <alex.smith@xxxxxxxxxx> wrote:
>> As of commit bcc3e1726d ("mmc: block: Use R1 responses for stop cmds for
>> read requests"), stop commands for reads do not have MMC_RSP_BUSY set.
>> In this case we should not wait for a PRG_DONE IRQ after sending the
>> stop command: it will not get raised when the busy flag is not set,
>> causing the request to fail with a timeout.
>>
>> Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx>
>> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
>> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
>> Cc: Chris Ball <chris@xxxxxxxxxx>
>> Cc: James Hogan <james.hogan@xxxxxxxxxx>
>
> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Alex, could you please resend a new version which has been verified
using checkpatch.

Kind regards
Ulf Hansson

>
>> ---
>>  drivers/mmc/host/jz4740_mmc.c | 10 ++++++----
>>  1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
>> index de2139c..1c3368b 100644
>> --- a/drivers/mmc/host/jz4740_mmc.c
>> +++ b/drivers/mmc/host/jz4740_mmc.c
>> @@ -515,10 +515,12 @@ static irqreturn_t jz_mmc_irq_worker(int irq, void *devid)
>>
>>                 jz4740_mmc_send_command(host, req->stop);
>>
>> -               timeout = jz4740_mmc_poll_irq(host, JZ_MMC_IRQ_PRG_DONE);
>> -               if (timeout) {
>> -                       host->state = JZ4740_MMC_STATE_DONE;
>> -                       break;
>> +               if (mmc_resp_type(req->stop) & MMC_RSP_BUSY) {
>> +                       timeout = jz4740_mmc_poll_irq(host, JZ_MMC_IRQ_PRG_DONE);
>> +                       if (timeout) {
>> +                               host->state = JZ4740_MMC_STATE_DONE;
>> +                               break;
>> +                       }
>>                 }
>>         case JZ4740_MMC_STATE_DONE:
>>                 break;
>> --
>> 1.9.2
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux