Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1293377
| From | Nish Aravamudan <nish.aravamudan@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RESEND] Lenovo Yoga 900 touchpad issues |
| Date | 2015-12-17 00:00 +0100 |
| Message-ID | <qGtd8-7St-3@gated-at.bofh.it> (permalink) |
| References | <qG3iG-8mS-21@gated-at.bofh.it> <qGgzg-8nq-13@gated-at.bofh.it> <qGk9Q-2er-17@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi Jiri,
On Wed, Dec 16, 2015 at 5:18 AM, Jiri Kosina <jikos@kernel.org> wrote:
> On Wed, 16 Dec 2015, Mika Westerberg wrote:
>
>> > [Apologies for the resend, didn't realize I hadn't changed my GMail settings
>> > to not use HTML.]
>> >
>> > I have recently purchased a Lenovo Yoga 900 and most everything is working
>> > with a slightly modified 4.4-rc5 (https://lkml.org/lkml/2015/11/30/441 applied
>> > to enable the touchpad itself), I am seeing two issues:
>> >
>> > 1) On suspend/resume, the touchpad is non-functional. A `modprobe -r i2c-hid;
>> > modprobe i2c-hid` "fixes" it.
>> >
>> > The kernel emits:
>> >
>> > i2c_hid i2c-SYNA2B29:00: failed to reset device.
>> > dpm_run_callback(): i2c_hid_resume+0x0/0xc0 [i2c_hid] returns -61
>> > PM: Device i2c-SYNA2B29:00 failed to resume: error -61
>> >
>> > During the resume. So perhaps this is a timing issue (given that once
>> > resumed, the
>> > module reload does work?).
>>
>> Linus noticed this as well and Jiri suggested the below patch which
>> seemed to fix the issue (although it increased resume time a bit).
>>
>> I was supposed to get one Lenovo Yoga 900 here to debug this issue but
>> I'm still waiting for it (sloow big corporation bureaucracy takes some
>> time to get things purchased outside).
>>
>> diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
>> index 55d8f9d..52dd03a0 100644
>> --- a/drivers/hid/i2c-hid/i2c-hid.c
>> +++ b/drivers/hid/i2c-hid/i2c-hid.c
>> @@ -1121,10 +1121,16 @@ static int i2c_hid_resume(struct device *dev)
>> struct i2c_client *client = to_i2c_client(dev);
>> struct i2c_hid *ihid = i2c_get_clientdata(client);
>> struct hid_device *hid = ihid->hid;
>> - int wake_status;
>> + int wake_status, tries = 3;
>>
>> enable_irq(ihid->irq);
>> - ret = i2c_hid_hwreset(client);
>> +
>> + do {
>> + ret = i2c_hid_hwreset(client);
>> + if (ret)
>> + msleep(1000);
>> + } while (tries-- > 0 && ret);
>> +
>> if (ret)
>> return ret;
>
> As a possible alternative, please test the patch above on top of for-next
> branch of
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
>
> It contains 64bebefcf3 ("HID: enable hid device to suspend/resume
> asynchronously") and knowing whether that changes something might be
> interesting datapoint as well.
What should I be looking for to be different wrt. that tree? Should I
not see the failure to reset the device? Or would it be (relatively)
speedier than the stock kernel?
Thanks,
Nish
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RESEND] Lenovo Yoga 900 touchpad issues Nish Aravamudan <nish.aravamudan@gmail.com> - 2015-12-15 20:20 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Mika Westerberg <mika.westerberg@linux.intel.com> - 2015-12-16 10:30 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Jiri Kosina <jikos@kernel.org> - 2015-12-16 14:20 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Nish Aravamudan <nish.aravamudan@gmail.com> - 2015-12-17 00:00 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Benjamin Tissoires <benjamin.tissoires@redhat.com> - 2015-12-17 11:00 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Nish Aravamudan <nish.aravamudan@gmail.com> - 2015-12-17 18:00 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Benjamin Tissoires <benjamin.tissoires@redhat.com> - 2015-12-17 18:30 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Nish Aravamudan <nish.aravamudan@gmail.com> - 2015-12-17 18:40 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Nish Aravamudan <nish.aravamudan@gmail.com> - 2015-12-17 00:00 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Mika Westerberg <mika.westerberg@linux.intel.com> - 2015-12-18 15:50 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Mika Westerberg <mika.westerberg@linux.intel.com> - 2015-12-18 16:50 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Benjamin Tissoires <benjamin.tissoires@redhat.com> - 2015-12-18 17:20 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Mika Westerberg <mika.westerberg@linux.intel.com> - 2015-12-21 12:40 +0100
Re: [RESEND] Lenovo Yoga 900 touchpad issues Nish Aravamudan <nish.aravamudan@gmail.com> - 2015-12-18 19:00 +0100
csiph-web