From: Alan Ott <alan@signal11.us>
To: "Jiri Kosina" <jkosina@suse.cz>,
"Alan Stern" <stern@rowland.harvard.edu>,
"Greg Kroah-Hartman" <gregkh@suse.de>,
"Bruno Prémont" <bonbons@lin>
Cc: Alan Ott <alan@signal11.us>
Subject: [PATCH v3 1/1] Don't Send Feature Reports on Interrupt Endpoint
Date: Tue, 21 Sep 2010 18:06:32 -0400 [thread overview]
Message-ID: <1285106792-5818-1-git-send-email-alan@signal11.us> (raw)
In-Reply-To: <4C98EAAE.3020409@signal11.us>
Feature reports should only be sent on the control endpoint.
The USB HID standard is unclear and confusing on this issue. It seems to
suggest that Feature reports can be sent on a HID device's Interrupt OUT
endpoint. This cannot be the case because the report type is not encoded in
transfers sent out the Interrput OUT endpoint. If Feature reports were sent
on the Interrupt OUT endpint, they would be indistinguishable from Output
reports in the case where Report IDs were not used.
Further, Windows and Mac OS X do not send Feature reports out the interrupt
OUT Endpoint. They will only go out the Control Endpoint.
In addition, many devices simply do not hande Feature reports sent out the Interrupt OUT endpoint.
Reported-by: simon@mungewell.org
Signed-off-by: Alan Ott <alan@signal11.us>
---
drivers/hid/usbhid/hid-core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index b729c02..b0ccc42 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -807,7 +807,7 @@ static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf, size_t co
struct usb_host_interface *interface = intf->cur_altsetting;
int ret;
- if (usbhid->urbout) {
+ if (usbhid->urbout && report_type != HID_FEATURE_REPORT) {
int actual_length;
int skipped_report_id = 0;
if (buf[0] == 0x0) {
--
1.7.0.4
next prev parent reply other threads:[~2010-09-21 22:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-10 6:47 Help: Writing to USB feature port from within kernel driver simon
2010-09-15 14:45 ` [PATCH 1/1] Don't Send Feature Reports on Interrupt Endpoint Alan Ott
2010-09-15 16:10 ` Alan Stern
2010-09-15 21:31 ` Alan Ott
2010-09-16 13:51 ` Alan Stern
2010-09-21 14:14 ` Jiri Kosina
2010-09-21 17:26 ` [PATCH v2 " Alan Ott
[not found] ` <4C98EAAE.3020409@signal11.us>
2010-09-21 17:58 ` Sergei Shtylyov
2010-09-21 22:18 ` [PATCH v2 1/1] trivial: usbhid: Formatting fix Alan Ott
2010-09-22 11:35 ` Jiri Kosina
2010-09-21 22:06 ` Alan Ott [this message]
2010-09-22 11:23 ` [PATCH v3 1/1] Don't Send Feature Reports on Interrupt Endpoint Jiri Kosina
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=1285106792-5818-1-git-send-email-alan@signal11.us \
--to=alan@signal11.us \
--cc=bonbons@lin \
--cc=gregkh@suse.de \
--cc=jkosina@suse.cz \
--cc=stern@rowland.harvard.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).