lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 10 Mar 2020 14:59:17 -0700
From:   Sowjanya Komatineni <skomatineni@...dia.com>
To:     Ulf Hansson <ulf.hansson@...aro.org>
CC:     Jon Hunter <jonathanh@...dia.com>,
        Bitan Biswas <bbiswas@...dia.com>,
        Adrian Hunter <adrian.hunter@...el.com>,
        Naresh Kamboju <naresh.kamboju@...aro.org>,
        Jens Axboe <axboe@...nel.dk>,
        Alexei Starovoitov <ast@...nel.org>,
        linux-block <linux-block@...r.kernel.org>,
        <lkft-triage@...ts.linaro.org>,
        open list <linux-kernel@...r.kernel.org>,
        "linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
        Arnd Bergmann <arnd@...db.de>,
        John Stultz <john.stultz@...aro.org>,
        Faiz Abbas <faiz_abbas@...com>,
        Thierry Reding <treding@...dia.com>,
        Anders Roxell <anders.roxell@...aro.org>,
        Kishon <kishon@...com>
Subject: Re: LKFT: arm x15: mmc1: cache flush error -110


On 3/10/20 10:27 AM, Sowjanya Komatineni wrote:
>
> On 3/10/20 10:09 AM, Ulf Hansson wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> [...]
>>
>>>>>> I would like to get the regression fixed asap, but I also would like
>>>>>> to avoid reverting patches, unless really necessary. May I 
>>>>>> propose the
>>>>>> following two options.
>>>>>>
>>>>>> 1. Find out why polling with ->card_busy() or CMD13, for a CMD6 with
>>>>>> an R1 response doesn't work - and then fix that behaviour.
>>>>>>
>>>>>> 2. Set the mmc->max_busy_timeout to zero for sdhci-tegra, which 
>>>>>> makes
>>>>>> the core to always use R1B for CMD6 (and erase). This also means 
>>>>>> that
>>>>>> when the cmd->busy_timeout becomes longer than 11s, sdhci-tegra must
>>>>>> disable the HW busy timeout and just wait "forever".
>>>>>>
>>>>>> If you decide for 2, you can add the software timeout support on 
>>>>>> top,
>>>>>> but make that can be considered as a next step of an improvement,
>>>>>> rather than needed as fix. Note that, I believe there are some 
>>>>>> support
>>>>>> for software timeout already in the sdhci core, maybe you need to
>>>>>> tweak it a bit for your case, I don't know.
>>>>>>
>>>>>> Kind regards
>>>>>> Uffe
>>>>> Hi Uffe
>>>>>
>>>>> Will go with 2nd option and will send patches out when ready.
>>>> Okay, good.
>>>>
>>>>> BTW, Tegra host also supports SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for
>>>>> data timeout based on host clock when using finite mode (HW busy
>>>>> detection based on DATA TIMEOUT count value when cmd operation 
>>>>> timeout
>>>>> is < 11s for tegra host).
>>>>>
>>>>> So, looks like we cant set host max_busy_timeout to 0 for Tegra 
>>>>> host to
>>>>> force R1B during SWITCH and SLEEP_AWAKE.
>>>>>
>>>>> So, was thinking to introduce host capability 
>>>>> MMC_CAP2_LONG_WAIT_HW_BUSY
>>>>> which can be used for hosts supporting long or infinite HW busy wait
>>>>> detection and will update mmc and mmc_ops drivers to not allow 
>>>>> convert
>>>>> R1B to R1B for hosts with this capability during SLEEP_AWAKE and 
>>>>> SWITCH.
>>>> That seems reasonable, it becomes probably both easier and clearer by
>>>> adding a new host cap.
>>>>
>>>> In any case, let me help out and cook a patch for this for the core
>>>> part (I leave the sdhci change to you). It may be a bit tricky,
>>>> especially since I have currently queued a bunch of new changes for
>>>> v5.7, that enables more users of mmc_poll_for_busy() in the core.
>>>> Maybe I need to temporarily drop them, so we can fix these problems
>>>> first. I will check.
>>>>
>>>> Probably, I would also name the cap MMC_CAP_HW_NEED_RSP_BUSY, as that
>>>> seems to be describing the common problem we have for sdhci
>>>> omap/tegra.
>>>>
>>>> Finally, it seems like MMC_CAP_WAIT_WHILE_BUSY should be set for
>>>> sdhci- tegra, so while at it, perhaps you can cook a patch for that as
>>>> well.
>>>>
>>>> Kind regards
>>>> Uffe
>>> OK, I sent v1 yesterday. Please ignore them then.
>> Oh, I haven't seen them. In any case, I am ignoring them.
>>
>>> Will send out patches only for HW busy wait modes program based on cmd
>>> timeout and WAIT_WHILE_BUSY enabled.
>> Great, thanks!
>>
>> Please help test the series I just posted as well, if you have the
>> time ofcourse.
>>
>> Kind regards
>> Uffe
>
> Sure,
>
> Thanks
>
> Sowjanya


mmc_sleep() also needs update to force R1B when host sets capability 
MMC_CAP_NEED_RSP_BUSY


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ