From: Martin Kittel <linux@martin-kittel.de>
To: linux-media@vger.kernel.org
Subject: Re: Patch mceusb: fix invalid urb interval
Date: Wed, 11 Dec 2013 21:34:55 +0100 [thread overview]
Message-ID: <l8ai94$cbr$1@ger.gmane.org> (raw)
In-Reply-To: <20131211131751.GA434@pequod.mess.org>
Hi Mauro, hi Sean,
thanks for considering the patch. I have added an updated version at the
end of this mail.
Regarding the info Sean was requesting, it is indeed an xhci hub. I also
added the details of the remote itself.
Please let me know if there is anything missing.
Best wishes,
Martin.
lsusb -vvv
------
Bus 001 Device 002: ID 2304:0225 Pinnacle Systems, Inc. Remote Kit
Infrared Transceiver
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x2304 Pinnacle Systems, Inc.
idProduct 0x0225 Remote Kit Infrared Transceiver
bcdDevice 0.01
iManufacturer 1 Pinnacle Systems
iProduct 2 PCTV Remote USB
iSerial 5 7FFFFFFFFFFFFFFF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3 StandardConfiguration
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 4 StandardInterface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
-----------
>From 67589c156e4b205821dda67f7e96804224c24cb8 Mon Sep 17 00:00:00 2001
From: Martin Kittel <linux@martin-kittel.de>
Date: Wed, 11 Dec 2013 21:08:49 +0100
Subject: [PATCH] mceusb: fix invalid urb interval
With very fast usb hubs it can happen that urbs are processed
in less than a single 126 microsecond interval. Such an urb has
urb->interval set to 0 on receive and s rejected on resubmit.
Make sure urb->interval is reset to its initial value before
resubmitting it.
Signed-off-by: Martin Kittel <linux@martin-kittel.de>
---
drivers/media/rc/mceusb.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
index 3c76101..6652f6a 100644
--- a/drivers/media/rc/mceusb.c
+++ b/drivers/media/rc/mceusb.c
@@ -1030,7 +1030,7 @@ static void mceusb_process_ir_data(struct
mceusb_dev *ir, int buf_len)
static void mceusb_dev_recv(struct urb *urb)
{
struct mceusb_dev *ir;
- int buf_len;
+ int buf_len, res;
if (!urb)
return;
@@ -1067,7 +1067,10 @@ static void mceusb_dev_recv(struct urb *urb)
break;
}
- usb_submit_urb(urb, GFP_ATOMIC);
+ urb->interval = ir->usb_ep_out->bInterval; /* reset urb interval */
+ res = usb_submit_urb(urb, GFP_ATOMIC);
+ if (res)
+ mce_dbg(ir->dev, "restart request FAILED! (res=%d)\n", res);
}
static void mceusb_get_emulator_version(struct mceusb_dev *ir)
--
1.8.4.rc3
next prev parent reply other threads:[~2013-12-11 20:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-10 10:50 Patch mceusb: fix invalid urb interval Martin Kittel
2013-12-10 16:20 ` Mauro Carvalho Chehab
2013-12-11 13:17 ` Sean Young
2013-12-11 20:34 ` Martin Kittel [this message]
2014-01-15 15:49 ` Mauro Carvalho Chehab
2014-01-15 16:52 ` Sean Young
2014-01-15 17:59 ` Mauro Carvalho Chehab
2014-01-19 21:05 ` Martin Kittel
2014-01-19 21:56 ` Sean Young
2014-01-20 17:36 ` Jarod Wilson
2014-11-03 16:49 ` Mauro Carvalho Chehab
2014-11-04 21:25 ` Sean Young
2014-11-04 22:39 ` Mauro Carvalho Chehab
2014-01-16 2:55 ` Jarod Wilson
2014-01-20 21:29 ` Sean Young
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='l8ai94$cbr$1@ger.gmane.org' \
--to=linux@martin-kittel.de \
--cc=linux-media@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.