From: Ellen Wang <ellen@cumulusnetworks.com>
To: Antonio Borneo <borneo.antonio@gmail.com>,
Jiri Kosina <jkosina@suse.cz>,
linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org
Subject: Re: [PATCH] HID: cp2112: fix to force single data-report reply
Date: Wed, 01 Jul 2015 01:05:18 -0700 [thread overview]
Message-ID: <55939F3E.7070505@cumulusnetworks.com> (raw)
In-Reply-To: <1434867625-3062-1-git-send-email-borneo.antonio@gmail.com>
Works as described. Thank you!
By the way, I tested the code with and without your fix on my rev 2
chip, and it behaved the same way as you describe on your rev 1 chip.
On 06/20/2015 11:20 PM, Antonio Borneo wrote:
> Current implementation of cp2112_raw_event() only accepts one data
> report at a time. If last received data report is not fully handled
> yet, a new incoming data report will overwrite it. In such case we
> don't guaranteed to propagate the correct incoming data.
>
> The trivial fix implemented here forces a single report at a time
> by requesting in cp2112_read() no more than 61 byte of data, which
> is the payload size of a single data report.
>
> Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
> ---
>
> Hi Jiri,
>
> I think this should go through linux-stable.
>
> Thanks,
> Antonio
>
> drivers/hid/hid-cp2112.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hid/hid-cp2112.c b/drivers/hid/hid-cp2112.c
> index 3318de6..a2dbbbe 100644
> --- a/drivers/hid/hid-cp2112.c
> +++ b/drivers/hid/hid-cp2112.c
> @@ -356,6 +356,8 @@ static int cp2112_read(struct cp2112_device *dev, u8 *data, size_t size)
> struct cp2112_force_read_report report;
> int ret;
>
> + if (size > sizeof(dev->read_data))
> + size = sizeof(dev->read_data);
> report.report = CP2112_DATA_READ_FORCE_SEND;
> report.length = cpu_to_be16(size);
>
>
next prev parent reply other threads:[~2015-07-01 8:05 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-21 6:20 [PATCH] HID: cp2112: fix to force single data-report reply Antonio Borneo
2015-06-21 6:20 ` Antonio Borneo
2015-07-01 8:05 ` Ellen Wang [this message]
[not found] ` <55939F3E.7070505-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>
2015-07-08 9:15 ` Jiri Kosina
2015-07-08 9:15 ` Jiri Kosina
2015-07-08 10:24 ` Ellen Wang
2015-07-08 10:41 ` Jiri Kosina
2015-07-11 11:48 ` Antonio Borneo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55939F3E.7070505@cumulusnetworks.com \
--to=ellen@cumulusnetworks.com \
--cc=borneo.antonio@gmail.com \
--cc=jkosina@suse.cz \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.