Re: [PATCH 1/1] mmc: Bad device can cause mmc driver to hang

From: Trey Ramsay
Date: Sat Nov 17 2012 - 00:16:25 EST


On 11/16/2012 06:37 PM, Chris Ball wrote:
> Hi Trey, thanks for the analysis,
>
> On Fri, Nov 16 2012, Trey Ramsay wrote:
>> Good question. In regards to the original problem were it was hung in
>> mmc_blk_err_check, the new code path will timeout after 10 minutes, log
>> an error, issue a hardware reset and abort the request. Is the hardware
>> reset enough or will that even work when the device isn't coming out of
>> program state? Should we try to refuse all new I/O?
>
> mmc_hw_reset() only works for eMMC devices with a hooked up reset GPIO
> -- not SD cards -- and at the moment there's only one system (Intel
> Medfield) that supplies a GPIO, so that's not a general solution.
>
> Maybe we should just merge your patch for now; we'll definitely get at
> least a pr_err() explaining what's going on, which is an improvement.
> Next time someone hits this (if anyone has an SD card that exhibits
> this problem, it'd be very valuable for testing) we can look at going
> farther, such as immediately setting host->flags |= SDHCI_DEVICE_DEAD.
> What do you think?
>
> - Chris.
>

Hi Chris,
Sounds good. Thanks for the explanation. Setting host->flags |=
SDHCI_DEVICE_DEAD is a great idea. I'll check with my team to see if we
have any hardware that exhibits this problem. If we do, I can do some
testing on the code you suggested.

Thanks,
Trey

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/