ACK/Cmnt: [SRU][E/OEM-B][PATCH v2 1/1] UBUNTU: SAUCE: Input: i8042 - fix the selftest retry logic
You-Sheng Yang
vicamo.yang at canonical.com
Sat Apr 4 12:43:36 UTC 2020
Hi, it was a bug in launchpad. Once Bionic series was removed for
package A, it cannot be added back for package B for the same bug. So I
actually don't have a way to nominate all the series proposed on the
patch mail. Is it possible to alter settings from emails like Debian's
bug tracking system?
You-Sheng Yang
On 2020-04-03 16:01, Stefan Bader wrote:
> On 16.03.20 10:27, You-Sheng Yang wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1866734
>>
>> It returns -NODEV at the first selftest timeout, so the retry logic
>> doesn't work. Move the return outside of the while loop to make it real
>> retry 5 times before returns -ENODEV.
>>
>> BTW, the origin loop will retry 6 times, also fix this.
>>
>> Signed-off-by: You-Sheng Yang <vicamo.yang at canonical.com>
>> (backported from
>> https://lore.kernel.org/linux-input/20200310033640.14440-1-vicamo@gmail.com/)
> Acked-by: Stefan Bader <stefan.bader at canonical.com>
>> ---
>
> From what I read already applied to F, unsure nomination for B. So for now only
> acking for E (and OEM-B fwiw).
>
> -Stefan
>
>> drivers/input/serio/i8042.c | 23 +++++++++++++----------
>> 1 file changed, 13 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
>> index 7f4592177607..cc079c5680d6 100644
>> --- a/drivers/input/serio/i8042.c
>> +++ b/drivers/input/serio/i8042.c
>> @@ -927,25 +927,28 @@ static int i8042_controller_selftest(void)
>> {
>> unsigned char param;
>> int i = 0;
>> + int ret;
>>
>> /*
>> * We try this 5 times; on some really fragile systems this does not
>> * take the first time...
>> */
>> - do {
>> -
>> - if (i8042_command(¶m, I8042_CMD_CTL_TEST)) {
>> - pr_info("i8042 controller selftest timeout\n");
>> - return -ENODEV;
>> - }
>> + while (i++ < 5) {
>>
>> - if (param == I8042_RET_CTL_TEST)
>> + ret = i8042_command(¶m, I8042_CMD_CTL_TEST);
>> + if (ret)
>> + pr_info("i8042 controller selftest timeout (%d/5)\n", i);
>> + else if (param == I8042_RET_CTL_TEST)
>> return 0;
>> + else
>> + dbg("i8042 controller selftest: %#x != %#x\n",
>> + param, I8042_RET_CTL_TEST);
>>
>> - dbg("i8042 controller selftest: %#x != %#x\n",
>> - param, I8042_RET_CTL_TEST);
>> msleep(50);
>> - } while (i++ < 5);
>> + }
>> +
>> + if (ret)
>> + return -ENODEV;
>>
>> #ifdef CONFIG_X86
>> /*
>>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20200404/5aca02b6/attachment.sig>
More information about the kernel-team
mailing list