Occasional crashes in suspend-resume with MMC transactions

S, Venkatraman svenkatr at ti.com
Thu Mar 22 12:06:36 EDT 2012


On Thu, Mar 22, 2012 at 8:13 PM, Bedia, Vaibhav <vaibhav.bedia at ti.com> wrote:
> On Thu, Mar 22, 2012 at 19:57:16, S, Venkatraman wrote:
> [...]
>>
>> I see (in 3.3) that the host controller driver does a "return ret" and
>> that means the errors is propagated.
>> Where is the return code lost /overridden ?
>>
>
> The return code gets overridden due to the call to host->pdata->resume()
> which always returns 0.

Thanks - I see what you mean. But the patch is clunky.
A clean fix would be to not capture the return code of resume() in
"ret" and let the old
value of ret be propagated as is.

>
> static int omap_hsmmc_resume_cdirq(struct device *dev, int slot)
> {
>        struct omap_mmc_platform_data *mmc = dev->platform_data;
>
>        enable_irq(mmc->slots[0].card_detect_irq);
>        return 0;
> }
>
> Regards,
> Vaibhav



More information about the linux-arm-kernel mailing list