LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
@ 2008-10-19 11:26 Justin Piszcz
2008-10-19 11:28 ` Justin Piszcz
0 siblings, 1 reply; 24+ messages in thread
From: Justin Piszcz @ 2008-10-19 11:26 UTC (permalink / raw)
To: linux-kernel, linux-usb
With kernel 2.6.27.2, any processes attempting to use USB hang and go into
D-state, I have never had a problem like this before until 2.6.27.2 (I
have not tried 2.6.27.1 or 2.6.27)
# lsusb -v
<hangs>
open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=140, ...}) = 0
getdents(3, /* 7 entries */, 4096) = 112
getdents(3, /* 0 entries */, 4096) = 0
close(3) = 0
open("/dev/bus/usb/001", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
getdents(3, /* 4 entries */, 4096) = 64
open("/dev/bus/usb/001/004", O_RDWR) = 4
ioctl(4, USBDEVFS_CONNECTINFO
nut (for UPS) does not start.
nut 4078 0.0 0.0 1964 856 pts/8 D 07:09 0:00 /lib/nut/usbhid-ups -a belkin
root 4170 0.0 0.0 2204 1072 pts/8 D+ 07:11 0:00 lsusb -v
Processes go directly to D-state with 2.6.27.2 for USB.
Booting back to 2.6.26.5 now to see if everything works again.
Back to 2.6.25.5, everything works fine:
# lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 2040:7501 Hauppauge
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 050d:1100 Belkin Components
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 045e:0039 Microsoft Corp. IntelliMouse Optical
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Relevant configuration files and dmesg output:
http://home.comcast.net/~jpiszcz/2.6.25.5-usb-working.txt
http://home.comcast.net/~jpiszcz/2.6.27.2-usb-broken.txt
http://home.comcast.net/~jpiszcz/linux-2.6.25.5-config
http://home.comcast.net/~jpiszcz/linux-2.6.27.2-config
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
2008-10-19 11:26 Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE) Justin Piszcz
@ 2008-10-19 11:28 ` Justin Piszcz
2008-10-19 15:34 ` Oliver Neukum
2008-10-19 15:34 ` Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE) Alan Stern
0 siblings, 2 replies; 24+ messages in thread
From: Justin Piszcz @ 2008-10-19 11:28 UTC (permalink / raw)
To: linux-kernel, linux-usb
On Sun, 19 Oct 2008, Justin Piszcz wrote:
> With kernel 2.6.27.2, any processes attempting to use USB hang and go into
> D-state, I have never had a problem like this before until 2.6.27.2 (I have
> not tried 2.6.27.1 or 2.6.27)
>
> # lsusb -v
> <hangs>
>
> open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) =
> 3
> fstat64(3, {st_mode=S_IFDIR|0755, st_size=140, ...}) = 0
> getdents(3, /* 7 entries */, 4096) = 112
> getdents(3, /* 0 entries */, 4096) = 0
> close(3) = 0
> open("/dev/bus/usb/001",
> O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
> fstat64(3, {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
> getdents(3, /* 4 entries */, 4096) = 64
> open("/dev/bus/usb/001/004", O_RDWR) = 4
> ioctl(4, USBDEVFS_CONNECTINFO
>
> nut (for UPS) does not start.
>
> nut 4078 0.0 0.0 1964 856 pts/8 D 07:09 0:00
> /lib/nut/usbhid-ups -a belkin
> root 4170 0.0 0.0 2204 1072 pts/8 D+ 07:11 0:00 lsusb -v
>
> Processes go directly to D-state with 2.6.27.2 for USB.
>
> Booting back to 2.6.26.5 now to see if everything works again.
>
> Back to 2.6.25.5, everything works fine:
>
> # lsusb Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 004: ID 2040:7501 Hauppauge Bus 001 Device 001: ID 1d6b:0002
> Linux Foundation 2.0 root hub
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 003 Device 002: ID 050d:1100 Belkin Components Bus 003 Device 001: ID
> 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 002 Device 002: ID 045e:0039 Microsoft Corp. IntelliMouse Optical
> Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
>
> Relevant configuration files and dmesg output:
>
http://home.comcast.net/~jpiszcz/20081019/2.6.25.5-usb-working.txt
http://home.comcast.net/~jpiszcz/20081019/2.6.27.2-usb-broken.txt
http://home.comcast.net/~jpiszcz/20081019/linux-2.6.25.5-config.txt
http://home.comcast.net/~jpiszcz/20081019/linux-2.6.27.2-config.txt
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
2008-10-19 11:28 ` Justin Piszcz
@ 2008-10-19 15:34 ` Oliver Neukum
2008-10-19 16:51 ` Justin Piszcz
2008-10-19 15:34 ` Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE) Alan Stern
1 sibling, 1 reply; 24+ messages in thread
From: Oliver Neukum @ 2008-10-19 15:34 UTC (permalink / raw)
To: Justin Piszcz; +Cc: linux-kernel, linux-usb
Am Sonntag, 19. Oktober 2008 13:28:24 schrieb Justin Piszcz:
>
> On Sun, 19 Oct 2008, Justin Piszcz wrote:
>
> > With kernel 2.6.27.2, any processes attempting to use USB hang and go into
> > D-state, I have never had a problem like this before until 2.6.27.2 (I have
> > not tried 2.6.27.1 or 2.6.27)
Please get sysrq-t of a hang.
Regards
Oliver
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
2008-10-19 11:28 ` Justin Piszcz
2008-10-19 15:34 ` Oliver Neukum
@ 2008-10-19 15:34 ` Alan Stern
1 sibling, 0 replies; 24+ messages in thread
From: Alan Stern @ 2008-10-19 15:34 UTC (permalink / raw)
To: Justin Piszcz; +Cc: linux-kernel, linux-usb
On Sun, 19 Oct 2008, Justin Piszcz wrote:
> On Sun, 19 Oct 2008, Justin Piszcz wrote:
>
> > With kernel 2.6.27.2, any processes attempting to use USB hang and go into
> > D-state, I have never had a problem like this before until 2.6.27.2 (I have
> > not tried 2.6.27.1 or 2.6.27)
> >
> > # lsusb -v
> > <hangs>
> >
> > open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) =
> > 3
> > fstat64(3, {st_mode=S_IFDIR|0755, st_size=140, ...}) = 0
> > getdents(3, /* 7 entries */, 4096) = 112
> > getdents(3, /* 0 entries */, 4096) = 0
> > close(3) = 0
> > open("/dev/bus/usb/001",
> > O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
> > fstat64(3, {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
> > getdents(3, /* 4 entries */, 4096) = 64
> > open("/dev/bus/usb/001/004", O_RDWR) = 4
> > ioctl(4, USBDEVFS_CONNECTINFO
> >
> > nut (for UPS) does not start.
> >
> > nut 4078 0.0 0.0 1964 856 pts/8 D 07:09 0:00
> > /lib/nut/usbhid-ups -a belkin
> > root 4170 0.0 0.0 2204 1072 pts/8 D+ 07:11 0:00 lsusb -v
> >
> > Processes go directly to D-state with 2.6.27.2 for USB.
> >
> > Booting back to 2.6.26.5 now to see if everything works again.
> >
> > Back to 2.6.25.5, everything works fine:
> >
> > # lsusb Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 001 Device 004: ID 2040:7501 Hauppauge Bus 001 Device 001: ID 1d6b:0002
> > Linux Foundation 2.0 root hub
> > Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 003 Device 002: ID 050d:1100 Belkin Components Bus 003 Device 001: ID
> > 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 002 Device 002: ID 045e:0039 Microsoft Corp. IntelliMouse Optical
> > Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> >
> > Relevant configuration files and dmesg output:
> >
>
> http://home.comcast.net/~jpiszcz/20081019/2.6.25.5-usb-working.txt
> http://home.comcast.net/~jpiszcz/20081019/2.6.27.2-usb-broken.txt
> http://home.comcast.net/~jpiszcz/20081019/linux-2.6.25.5-config.txt
> http://home.comcast.net/~jpiszcz/20081019/linux-2.6.27.2-config.txt
You should turn on the usbfs_snoop module parameter for usbcore and see
what shows up in the system log.
Alan Stern
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
2008-10-19 15:34 ` Oliver Neukum
@ 2008-10-19 16:51 ` Justin Piszcz
2008-10-20 14:02 ` Alan Stern
0 siblings, 1 reply; 24+ messages in thread
From: Justin Piszcz @ 2008-10-19 16:51 UTC (permalink / raw)
To: Oliver Neukum, Alan Stern; +Cc: linux-kernel, linux-usb
On Sun, 19 Oct 2008, Oliver Neukum wrote:
> You should turn on the usbfs_snoop module parameter for usbcore and see
> what shows up in the system log.
> Alan Stern
Tried this, kernel would not boot up any further when I had that enabled
alongside the 'extra' debugging options in the kernel:
http://home.comcast.net/~jpiszcz/20081019/2.6.27.2-usb-extra-debug.txt
My netconsole is not working right at the moment either so I was not
able to pull a sysrq-of this, but it hung twice, once on one device, rebooted
then it hung on another device the second time.
>
> Please get sysrq-t of a hang.
>
> Regards
> Oliver
>
Before I tried the above, I was able to get a sysrq-t of the hang:
http://home.comcast.net/~jpiszcz/20081019/trace_before_trigger.txt
http://home.comcast.net/~jpiszcz/20081019/trace_after_trigger.txt
Justin.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
2008-10-19 16:51 ` Justin Piszcz
@ 2008-10-20 14:02 ` Alan Stern
2008-10-20 15:21 ` Justin Piszcz
0 siblings, 1 reply; 24+ messages in thread
From: Alan Stern @ 2008-10-20 14:02 UTC (permalink / raw)
To: Justin Piszcz; +Cc: Oliver Neukum, linux-kernel, linux-usb
On Sun, 19 Oct 2008, Justin Piszcz wrote:
> > You should turn on the usbfs_snoop module parameter for usbcore and see
> > what shows up in the system log.
>
> > Alan Stern
>
> Tried this, kernel would not boot up any further when I had that enabled
> alongside the 'extra' debugging options in the kernel:
>
> http://home.comcast.net/~jpiszcz/20081019/2.6.27.2-usb-extra-debug.txt
I'm not interested in your config file; I need to see the dmesg log.
> > Please get sysrq-t of a hang.
> >
> > Regards
> > Oliver
> >
>
> Before I tried the above, I was able to get a sysrq-t of the hang:
>
> http://home.comcast.net/~jpiszcz/20081019/trace_before_trigger.txt
> http://home.comcast.net/~jpiszcz/20081019/trace_after_trigger.txt
Your trace is incomplete. You might need to increase the size of the
kernel log buffer (CONFIG_LOG_BUF_SHIFT) or the size of the buffer used
by dmesg (the -s option).
Alan Stern
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)
2008-10-20 14:02 ` Alan Stern
@ 2008-10-20 15:21 ` Justin Piszcz
2008-10-20 16:17 ` Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)] Alan Stern
0 siblings, 1 reply; 24+ messages in thread
From: Justin Piszcz @ 2008-10-20 15:21 UTC (permalink / raw)
To: Alan Stern; +Cc: Oliver Neukum, linux-kernel, linux-usb
On Mon, 20 Oct 2008, Alan Stern wrote:
> On Sun, 19 Oct 2008, Justin Piszcz wrote:
>
>>> You should turn on the usbfs_snoop module parameter for usbcore and see
>>> what shows up in the system log.
>>
>>> Alan Stern
>>
>> Tried this, kernel would not boot up any further when I had that enabled
>> alongside the 'extra' debugging options in the kernel:
>>
>> http://home.comcast.net/~jpiszcz/20081019/2.6.27.2-usb-extra-debug.txt
>
> I'm not interested in your config file; I need to see the dmesg log.
>
>>> Please get sysrq-t of a hang.
>>>
>>> Regards
>>> Oliver
>>>
>>
>> Before I tried the above, I was able to get a sysrq-t of the hang:
>>
>> http://home.comcast.net/~jpiszcz/20081019/trace_before_trigger.txt
>> http://home.comcast.net/~jpiszcz/20081019/trace_after_trigger.txt
>
> Your trace is incomplete. You might need to increase the size of the
> kernel log buffer (CONFIG_LOG_BUF_SHIFT) or the size of the buffer used
> by dmesg (the -s option).
>
> Alan Stern
>
You're right, I set it to 128 KiB and here is the full log, including the
initial dmesg:
http://home.comcast.net/~jpiszcz/20081019/kern.log
Justin.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 15:21 ` Justin Piszcz
@ 2008-10-20 16:17 ` Alan Stern
2008-10-20 16:21 ` Mike Isely
2008-10-20 16:37 ` Mike Isely
0 siblings, 2 replies; 24+ messages in thread
From: Alan Stern @ 2008-10-20 16:17 UTC (permalink / raw)
To: Justin Piszcz
Cc: Oliver Neukum, Mike Isely, Kernel development list, USB list
On Mon, 20 Oct 2008, Justin Piszcz wrote:
> >> http://home.comcast.net/~jpiszcz/20081019/trace_before_trigger.txt
> >> http://home.comcast.net/~jpiszcz/20081019/trace_after_trigger.txt
> >
> > Your trace is incomplete. You might need to increase the size of the
> > kernel log buffer (CONFIG_LOG_BUF_SHIFT) or the size of the buffer used
> > by dmesg (the -s option).
> >
> > Alan Stern
> >
>
> You're right, I set it to 128 KiB and here is the full log, including the
> initial dmesg:
>
> http://home.comcast.net/~jpiszcz/20081019/kern.log
Okay, I see the problem. It's the same as we saw with the speedtouch
driver last week: The pvrusb2 driver resets its device but doesn't
define a pre_reset or a post_reset method. As a result it gets
disconnected during the reset, and the recursive call causes it to
hang.
This patch should fix the problem. It's not entirely correct, but it
should at least allow the driver to work like it did in 2.6.26.
Alan Stern
Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
===================================================================
--- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
+++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
@@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
#endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
}
+static int pvr_pre_reset(struct usb_interface *intf)
+{
+ return 0;
+}
+
+static int pvr_post_reset(struct usb_interface *intf)
+{
+ return 0;
+}
+
static int pvr_probe(struct usb_interface *intf,
const struct usb_device_id *devid)
{
@@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
.name = "pvrusb2",
.id_table = pvr2_device_table,
.probe = pvr_probe,
- .disconnect = pvr_disconnect
+ .disconnect = pvr_disconnect,
+ .pre_reset = pvr_pre_reset,
+ .post_reset = pvr_post_reset,
};
/*
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:17 ` Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)] Alan Stern
@ 2008-10-20 16:21 ` Mike Isely
2008-10-20 16:33 ` Justin Piszcz
2008-10-20 16:37 ` Mike Isely
1 sibling, 1 reply; 24+ messages in thread
From: Mike Isely @ 2008-10-20 16:21 UTC (permalink / raw)
To: Alan Stern
Cc: Justin Piszcz, Oliver Neukum, Kernel development list, USB list,
Mike Isely at pobox
There's already a patch coming up through v4l-dvb that should remove the
need for the reset completely for the pvrusb2 driver. The reset had
been there as "chicken soup" previously - it didn't hurt but its
utility wasn't really that great at the time. Now that it is hurting,
I just removed it.
-Mike
On Mon, 20 Oct 2008, Alan Stern wrote:
> On Mon, 20 Oct 2008, Justin Piszcz wrote:
>
> > >> http://home.comcast.net/~jpiszcz/20081019/trace_before_trigger.txt
> > >> http://home.comcast.net/~jpiszcz/20081019/trace_after_trigger.txt
> > >
> > > Your trace is incomplete. You might need to increase the size of the
> > > kernel log buffer (CONFIG_LOG_BUF_SHIFT) or the size of the buffer used
> > > by dmesg (the -s option).
> > >
> > > Alan Stern
> > >
> >
> > You're right, I set it to 128 KiB and here is the full log, including the
> > initial dmesg:
> >
> > http://home.comcast.net/~jpiszcz/20081019/kern.log
>
> Okay, I see the problem. It's the same as we saw with the speedtouch
> driver last week: The pvrusb2 driver resets its device but doesn't
> define a pre_reset or a post_reset method. As a result it gets
> disconnected during the reset, and the recursive call causes it to
> hang.
>
> This patch should fix the problem. It's not entirely correct, but it
> should at least allow the driver to work like it did in 2.6.26.
>
> Alan Stern
>
>
>
> Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> ===================================================================
> --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
> +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
> #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
> }
>
> +static int pvr_pre_reset(struct usb_interface *intf)
> +{
> + return 0;
> +}
> +
> +static int pvr_post_reset(struct usb_interface *intf)
> +{
> + return 0;
> +}
> +
> static int pvr_probe(struct usb_interface *intf,
> const struct usb_device_id *devid)
> {
> @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
> .name = "pvrusb2",
> .id_table = pvr2_device_table,
> .probe = pvr_probe,
> - .disconnect = pvr_disconnect
> + .disconnect = pvr_disconnect,
> + .pre_reset = pvr_pre_reset,
> + .post_reset = pvr_post_reset,
> };
>
> /*
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:21 ` Mike Isely
@ 2008-10-20 16:33 ` Justin Piszcz
2008-10-20 16:50 ` Mike Isely
0 siblings, 1 reply; 24+ messages in thread
From: Justin Piszcz @ 2008-10-20 16:33 UTC (permalink / raw)
To: Mike Isely; +Cc: Alan Stern, Oliver Neukum, Kernel development list, USB list
On Mon, 20 Oct 2008, Mike Isely wrote:
>
> There's already a patch coming up through v4l-dvb that should remove the
> need for the reset completely for the pvrusb2 driver. The reset had
> been there as "chicken soup" previously - it didn't hurt but its
> utility wasn't really that great at the time. Now that it is hurting,
> I just removed it.
>
> -Mike
>
Should I wait for the patch coming up through v4l-dvb or test Alan's patch?
2.6.27.2 has quite a few issues:
1. xfs is broken w/barrier (there is a patch for this)
2. usb hangs (patch below)
3. abit-guru (comsetic issue only, doesn't find mobo) (there is a patch
for this now as well)
So I am sticking with 2.6.26.5 right now, let me know if you need me
to test Alan's patch to see if it fixes the issue.
Justin.
>>
>> Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
>> ===================================================================
>> --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
>> +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
>> @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
>> #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
>> }
>>
>> +static int pvr_pre_reset(struct usb_interface *intf)
>> +{
>> + return 0;
>> +}
>> +
>> +static int pvr_post_reset(struct usb_interface *intf)
>> +{
>> + return 0;
>> +}
>> +
>> static int pvr_probe(struct usb_interface *intf,
>> const struct usb_device_id *devid)
>> {
>> @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
>> .name = "pvrusb2",
>> .id_table = pvr2_device_table,
>> .probe = pvr_probe,
>> - .disconnect = pvr_disconnect
>> + .disconnect = pvr_disconnect,
>> + .pre_reset = pvr_pre_reset,
>> + .post_reset = pvr_post_reset,
>> };
>>
>> /*
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:17 ` Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)] Alan Stern
2008-10-20 16:21 ` Mike Isely
@ 2008-10-20 16:37 ` Mike Isely
2008-10-20 17:29 ` Greg KH
1 sibling, 1 reply; 24+ messages in thread
From: Mike Isely @ 2008-10-20 16:37 UTC (permalink / raw)
To: Alan Stern
Cc: Justin Piszcz, Oliver Neukum, Kernel development list, USB list,
Mike Isely at pobox
I was incomplete in my previous response. See further below for nack
and another patch...
On Mon, 20 Oct 2008, Alan Stern wrote:
[...]
>
> Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> ===================================================================
> --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
> +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
> #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
> }
>
> +static int pvr_pre_reset(struct usb_interface *intf)
> +{
> + return 0;
> +}
> +
> +static int pvr_post_reset(struct usb_interface *intf)
> +{
> + return 0;
> +}
> +
> static int pvr_probe(struct usb_interface *intf,
> const struct usb_device_id *devid)
> {
> @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
> .name = "pvrusb2",
> .id_table = pvr2_device_table,
> .probe = pvr_probe,
> - .disconnect = pvr_disconnect
> + .disconnect = pvr_disconnect,
> + .pre_reset = pvr_pre_reset,
> + .post_reset = pvr_post_reset,
> };
>
> /*
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Nacked-by: Mike Isely <isely@pobox.com>
There is already another patch ready to go which eliminates the reset
entirely. It can be found here:
http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
-Mike
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:33 ` Justin Piszcz
@ 2008-10-20 16:50 ` Mike Isely
2008-10-20 17:03 ` Justin Piszcz
2008-10-20 17:16 ` Alan Stern
0 siblings, 2 replies; 24+ messages in thread
From: Mike Isely @ 2008-10-20 16:50 UTC (permalink / raw)
To: Justin Piszcz
Cc: Alan Stern, Oliver Neukum, Kernel development list, USB list,
Mike Isely at pobox
On Mon, 20 Oct 2008, Justin Piszcz wrote:
>
>
> On Mon, 20 Oct 2008, Mike Isely wrote:
>
> >
> > There's already a patch coming up through v4l-dvb that should remove the
> > need for the reset completely for the pvrusb2 driver. The reset had
> > been there as "chicken soup" previously - it didn't hurt but its
> > utility wasn't really that great at the time. Now that it is hurting,
> > I just removed it.
> >
> > -Mike
> >
>
> Should I wait for the patch coming up through v4l-dvb or test Alan's patch?
> 2.6.27.2 has quite a few issues:
>
> 1. xfs is broken w/barrier (there is a patch for this)
> 2. usb hangs (patch below)
> 3. abit-guru (comsetic issue only, doesn't find mobo) (there is a patch for
> this now as well)
>
> So I am sticking with 2.6.26.5 right now, let me know if you need me
> to test Alan's patch to see if it fixes the issue.
I'm sorry I didn't post my patch immediately in my previous response.
It is however posted as a link in a followup, and for the record here it
is again:
http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
I have tested it, and it works as expected. I've done all I can
according to the process there to ready it for kernel inclusion and I've
asked in my pull request there to get this patch into the next 2.6.27.x
stable release.
The driver really didn't "need" the reset anyway, and so from where I'm
sitting the simplest thing is just to remove it which is what my patch
does. (I had put in that reset a long time ago when working on
improving hardware stability. I had never positively established that
this actually helped during initialization, but it didn't hurt either so
I left it in place. Now that it is causing pain, it's best just to get
it out of there.) I don't see much point in testing Alan's patch.
-Mike
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:50 ` Mike Isely
@ 2008-10-20 17:03 ` Justin Piszcz
2008-10-20 17:16 ` Alan Stern
1 sibling, 0 replies; 24+ messages in thread
From: Justin Piszcz @ 2008-10-20 17:03 UTC (permalink / raw)
To: Mike Isely; +Cc: Alan Stern, Oliver Neukum, Kernel development list, USB list
On Mon, 20 Oct 2008, Mike Isely wrote:
> On Mon, 20 Oct 2008, Justin Piszcz wrote:
>
>>
>>
>> On Mon, 20 Oct 2008, Mike Isely wrote:
>>
>>>
>>> There's already a patch coming up through v4l-dvb that should remove the
>>> need for the reset completely for the pvrusb2 driver. The reset had
>>> been there as "chicken soup" previously - it didn't hurt but its
>>> utility wasn't really that great at the time. Now that it is hurting,
>>> I just removed it.
>>>
>>> -Mike
>>>
>>
>> Should I wait for the patch coming up through v4l-dvb or test Alan's patch?
>> 2.6.27.2 has quite a few issues:
>>
>> 1. xfs is broken w/barrier (there is a patch for this)
>> 2. usb hangs (patch below)
>> 3. abit-guru (comsetic issue only, doesn't find mobo) (there is a patch for
>> this now as well)
>>
>> So I am sticking with 2.6.26.5 right now, let me know if you need me
>> to test Alan's patch to see if it fixes the issue.
>
> I'm sorry I didn't post my patch immediately in my previous response.
> It is however posted as a link in a followup, and for the record here it
> is again:
>
> http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
>
> I have tested it, and it works as expected. I've done all I can
> according to the process there to ready it for kernel inclusion and I've
> asked in my pull request there to get this patch into the next 2.6.27.x
> stable release.
>
> The driver really didn't "need" the reset anyway, and so from where I'm
> sitting the simplest thing is just to remove it which is what my patch
> does. (I had put in that reset a long time ago when working on
> improving hardware stability. I had never positively established that
> this actually helped during initialization, but it didn't hurt either so
> I left it in place. Now that it is causing pain, it's best just to get
> it out of there.) I don't see much point in testing Alan's patch.
Ok, so the following patche are what I have applied to 2.6.27.2:
1. http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
--
1. aw9d-max-dmi-detection.diff
2. pvrusb2-hdw.patch
3. xfs-fix-remount-rw-with-unrecognized-options.patch
Rebooting 2.6.27.2 with applied patches (all 3) and will check to make
sure everything is back to normal.
Done, after reboot with the [3] applied patches above, it has fixed all
the problems I was having.
Justin.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:50 ` Mike Isely
2008-10-20 17:03 ` Justin Piszcz
@ 2008-10-20 17:16 ` Alan Stern
1 sibling, 0 replies; 24+ messages in thread
From: Alan Stern @ 2008-10-20 17:16 UTC (permalink / raw)
To: Justin Piszcz, Mike Isely
Cc: Oliver Neukum, Kernel development list, USB list
On Mon, 20 Oct 2008, Mike Isely wrote:
> > Should I wait for the patch coming up through v4l-dvb or test Alan's patch?
> > 2.6.27.2 has quite a few issues:
> >
> > 1. xfs is broken w/barrier (there is a patch for this)
> > 2. usb hangs (patch below)
> > 3. abit-guru (comsetic issue only, doesn't find mobo) (there is a patch for
> > this now as well)
> >
> > So I am sticking with 2.6.26.5 right now, let me know if you need me
> > to test Alan's patch to see if it fixes the issue.
>
> I'm sorry I didn't post my patch immediately in my previous response.
> It is however posted as a link in a followup, and for the record here it
> is again:
>
> http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
>
> I have tested it, and it works as expected. I've done all I can
> according to the process there to ready it for kernel inclusion and I've
> asked in my pull request there to get this patch into the next 2.6.27.x
> stable release.
>
> The driver really didn't "need" the reset anyway, and so from where I'm
> sitting the simplest thing is just to remove it which is what my patch
> does. (I had put in that reset a long time ago when working on
> improving hardware stability. I had never positively established that
> this actually helped during initialization, but it didn't hurt either so
> I left it in place. Now that it is causing pain, it's best just to get
> it out of there.) I don't see much point in testing Alan's patch.
I agree with Mike. His changes make the patch I sent totally
irrelevant, and they should fix the problem you're facing.
Alan Stern
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 16:37 ` Mike Isely
@ 2008-10-20 17:29 ` Greg KH
2008-10-20 18:01 ` Michael Krufky
2008-10-23 16:27 ` Mike Isely
0 siblings, 2 replies; 24+ messages in thread
From: Greg KH @ 2008-10-20 17:29 UTC (permalink / raw)
To: Mike Isely
Cc: Alan Stern, Justin Piszcz, Oliver Neukum,
Kernel development list, USB list
On Mon, Oct 20, 2008 at 11:37:41AM -0500, Mike Isely wrote:
>
> I was incomplete in my previous response. See further below for nack
> and another patch...
>
>
> On Mon, 20 Oct 2008, Alan Stern wrote:
>
> [...]
>
> >
> > Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> > ===================================================================
> > --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
> > +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> > @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
> > #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
> > }
> >
> > +static int pvr_pre_reset(struct usb_interface *intf)
> > +{
> > + return 0;
> > +}
> > +
> > +static int pvr_post_reset(struct usb_interface *intf)
> > +{
> > + return 0;
> > +}
> > +
> > static int pvr_probe(struct usb_interface *intf,
> > const struct usb_device_id *devid)
> > {
> > @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
> > .name = "pvrusb2",
> > .id_table = pvr2_device_table,
> > .probe = pvr_probe,
> > - .disconnect = pvr_disconnect
> > + .disconnect = pvr_disconnect,
> > + .pre_reset = pvr_pre_reset,
> > + .post_reset = pvr_post_reset,
> > };
> >
> > /*
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
>
> Nacked-by: Mike Isely <isely@pobox.com>
>
> There is already another patch ready to go which eliminates the reset
> entirely. It can be found here:
>
> http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
Will this patch be sent to the -stable group, to fix this regression in
2.6.27? Or should they take Alan's fix instead?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 17:29 ` Greg KH
@ 2008-10-20 18:01 ` Michael Krufky
2008-10-23 16:27 ` Mike Isely
1 sibling, 0 replies; 24+ messages in thread
From: Michael Krufky @ 2008-10-20 18:01 UTC (permalink / raw)
To: Greg KH
Cc: Mike Isely, Alan Stern, Justin Piszcz, Oliver Neukum,
Kernel development list, USB list
On Mon, Oct 20, 2008 at 1:29 PM, Greg KH <greg@kroah.com> wrote:
> On Mon, Oct 20, 2008 at 11:37:41AM -0500, Mike Isely wrote:
>>
>> I was incomplete in my previous response. See further below for nack
>> and another patch...
>>
>>
>> On Mon, 20 Oct 2008, Alan Stern wrote:
>>
>> [...]
>>
>> >
>> > Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
>> > ===================================================================
>> > --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
>> > +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
>> > @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
>> > #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
>> > }
>> >
>> > +static int pvr_pre_reset(struct usb_interface *intf)
>> > +{
>> > + return 0;
>> > +}
>> > +
>> > +static int pvr_post_reset(struct usb_interface *intf)
>> > +{
>> > + return 0;
>> > +}
>> > +
>> > static int pvr_probe(struct usb_interface *intf,
>> > const struct usb_device_id *devid)
>> > {
>> > @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
>> > .name = "pvrusb2",
>> > .id_table = pvr2_device_table,
>> > .probe = pvr_probe,
>> > - .disconnect = pvr_disconnect
>> > + .disconnect = pvr_disconnect,
>> > + .pre_reset = pvr_pre_reset,
>> > + .post_reset = pvr_post_reset,
>> > };
>> >
>> > /*
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>> >
>>
>> Nacked-by: Mike Isely <isely@pobox.com>
>>
>> There is already another patch ready to go which eliminates the reset
>> entirely. It can be found here:
>>
>> http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
>
> Will this patch be sent to the -stable group, to fix this regression in
> 2.6.27? Or should they take Alan's fix instead?
Greg,
Please queue the patch that Mike Isely sent for 2.6.27.y -- It's not
in Mauro's tree yet, but it will get there eventually. (it might take
him some before he does his next sync to git)
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Regards,
Mike Krufky
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-20 17:29 ` Greg KH
2008-10-20 18:01 ` Michael Krufky
@ 2008-10-23 16:27 ` Mike Isely
2008-10-23 19:15 ` Greg KH
1 sibling, 1 reply; 24+ messages in thread
From: Mike Isely @ 2008-10-23 16:27 UTC (permalink / raw)
To: Greg KH
Cc: Alan Stern, Justin Piszcz, Oliver Neukum,
Kernel development list, USB list, Mike Isely at pobox
On Mon, 20 Oct 2008, Greg KH wrote:
> On Mon, Oct 20, 2008 at 11:37:41AM -0500, Mike Isely wrote:
> >
> > I was incomplete in my previous response. See further below for nack
> > and another patch...
> >
> >
> > On Mon, 20 Oct 2008, Alan Stern wrote:
> >
> > [...]
> >
> > >
> > > Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> > > ===================================================================
> > > --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
> > > +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> > > @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
> > > #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
> > > }
> > >
> > > +static int pvr_pre_reset(struct usb_interface *intf)
> > > +{
> > > + return 0;
> > > +}
> > > +
> > > +static int pvr_post_reset(struct usb_interface *intf)
> > > +{
> > > + return 0;
> > > +}
> > > +
> > > static int pvr_probe(struct usb_interface *intf,
> > > const struct usb_device_id *devid)
> > > {
> > > @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
> > > .name = "pvrusb2",
> > > .id_table = pvr2_device_table,
> > > .probe = pvr_probe,
> > > - .disconnect = pvr_disconnect
> > > + .disconnect = pvr_disconnect,
> > > + .pre_reset = pvr_pre_reset,
> > > + .post_reset = pvr_post_reset,
> > > };
> > >
> > > /*
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > >
> >
> > Nacked-by: Mike Isely <isely@pobox.com>
> >
> > There is already another patch ready to go which eliminates the reset
> > entirely. It can be found here:
> >
> > http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
>
> Will this patch be sent to the -stable group, to fix this regression in
> 2.6.27? Or should they take Alan's fix instead?
>
Greg:
I didn't directly answer your question here because I had figured it was
answered in a previous post on this thread, that Mike Krufky had already
explicitly asked that it be queued (and added his Reviewed-By tag), and
that I figured it best not to add yet more noise to an already noisy
group.
However now I see that this patch didn't get into 2.6.27.3. It's a
pretty important fix; without it the pvrusb2 driver is worse than
useless (unless one adds initusbreset=0 as a module option).
My POV for this process in the past is that I generate a stable fix at
linuxtv.org, ensure that Mike Krufky and Mauro see the incoming change,
and then it gets into the next stable release. This is what I thought I
did here, but the results are different - 2.6.27.3 still has the driver
in a totally broken state. Quite likely I missed something that caused
the fix not to be pulled. Is there anything I can do to ensure this get
into 2.6.27.4?
-Mike
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-23 16:27 ` Mike Isely
@ 2008-10-23 19:15 ` Greg KH
2008-10-23 19:54 ` Mike Isely
0 siblings, 1 reply; 24+ messages in thread
From: Greg KH @ 2008-10-23 19:15 UTC (permalink / raw)
To: Mike Isely
Cc: Alan Stern, Justin Piszcz, Oliver Neukum,
Kernel development list, USB list
On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
> On Mon, 20 Oct 2008, Greg KH wrote:
>
> > On Mon, Oct 20, 2008 at 11:37:41AM -0500, Mike Isely wrote:
> > >
> > > I was incomplete in my previous response. See further below for nack
> > > and another patch...
> > >
> > >
> > > On Mon, 20 Oct 2008, Alan Stern wrote:
> > >
> > > [...]
> > >
> > > >
> > > > Index: usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> > > > ===================================================================
> > > > --- usb-2.6.orig/drivers/media/video/pvrusb2/pvrusb2-main.c
> > > > +++ usb-2.6/drivers/media/video/pvrusb2/pvrusb2-main.c
> > > > @@ -68,6 +68,16 @@ static void pvr_setup_attach(struct pvr2
> > > > #endif /* CONFIG_VIDEO_PVRUSB2_SYSFS */
> > > > }
> > > >
> > > > +static int pvr_pre_reset(struct usb_interface *intf)
> > > > +{
> > > > + return 0;
> > > > +}
> > > > +
> > > > +static int pvr_post_reset(struct usb_interface *intf)
> > > > +{
> > > > + return 0;
> > > > +}
> > > > +
> > > > static int pvr_probe(struct usb_interface *intf,
> > > > const struct usb_device_id *devid)
> > > > {
> > > > @@ -109,7 +119,9 @@ static struct usb_driver pvr_driver = {
> > > > .name = "pvrusb2",
> > > > .id_table = pvr2_device_table,
> > > > .probe = pvr_probe,
> > > > - .disconnect = pvr_disconnect
> > > > + .disconnect = pvr_disconnect,
> > > > + .pre_reset = pvr_pre_reset,
> > > > + .post_reset = pvr_post_reset,
> > > > };
> > > >
> > > > /*
> > > >
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> > > > the body of a message to majordomo@vger.kernel.org
> > > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > > >
> > >
> > > Nacked-by: Mike Isely <isely@pobox.com>
> > >
> > > There is already another patch ready to go which eliminates the reset
> > > entirely. It can be found here:
> > >
> > > http://linuxtv.org/hg/~mcisely/pvrusb2/rev/0bb411d8d2e4
> >
> > Will this patch be sent to the -stable group, to fix this regression in
> > 2.6.27? Or should they take Alan's fix instead?
> >
>
> Greg:
>
> I didn't directly answer your question here because I had figured it was
> answered in a previous post on this thread, that Mike Krufky had already
> explicitly asked that it be queued (and added his Reviewed-By tag), and
> that I figured it best not to add yet more noise to an already noisy
> group.
>
> However now I see that this patch didn't get into 2.6.27.3. It's a
> pretty important fix; without it the pvrusb2 driver is worse than
> useless (unless one adds initusbreset=0 as a module option).
As we were discussing this on Monday, and the review cycle for 2.6.27.3
started last Saturday, it would have been pretty hard to get it into
2.6.27.3 :)
I need to see the patch in Linus's tree first, before it can go into any
stable release. Is it in there yet? If so, please send me the git
commit id and I'll queue it up for the next -stable round.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-23 19:15 ` Greg KH
@ 2008-10-23 19:54 ` Mike Isely
2008-10-23 22:04 ` Michael Krufky
0 siblings, 1 reply; 24+ messages in thread
From: Mike Isely @ 2008-10-23 19:54 UTC (permalink / raw)
To: Greg KH
Cc: Alan Stern, Justin Piszcz, Oliver Neukum,
Kernel development list, USB list, Mike Isely at pobox
On Thu, 23 Oct 2008, Greg KH wrote:
> On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
> > On Mon, 20 Oct 2008, Greg KH wrote:
> >
[...]
> > >
> > > Will this patch be sent to the -stable group, to fix this regression in
> > > 2.6.27? Or should they take Alan's fix instead?
> > >
> >
> > Greg:
> >
> > I didn't directly answer your question here because I had figured it was
> > answered in a previous post on this thread, that Mike Krufky had already
> > explicitly asked that it be queued (and added his Reviewed-By tag), and
> > that I figured it best not to add yet more noise to an already noisy
> > group.
> >
> > However now I see that this patch didn't get into 2.6.27.3. It's a
> > pretty important fix; without it the pvrusb2 driver is worse than
> > useless (unless one adds initusbreset=0 as a module option).
>
> As we were discussing this on Monday, and the review cycle for 2.6.27.3
> started last Saturday, it would have been pretty hard to get it into
> 2.6.27.3 :)
>
> I need to see the patch in Linus's tree first, before it can go into any
> stable release. Is it in there yet? If so, please send me the git
> commit id and I'll queue it up for the next -stable round.
>
OK, I understand.
As far as I know, Linus has not yet pulled the changes from Mauro (part
of a larger set). But that information is a few hours old. I or Mike
Krufky will let you know if/when one of us finds out.
Thanks for following up.
-Mike
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-23 19:54 ` Mike Isely
@ 2008-10-23 22:04 ` Michael Krufky
2008-10-23 22:11 ` Justin Piszcz
0 siblings, 1 reply; 24+ messages in thread
From: Michael Krufky @ 2008-10-23 22:04 UTC (permalink / raw)
To: Mike Isely
Cc: Greg KH, Alan Stern, Justin Piszcz, Oliver Neukum,
Kernel development list, USB list
On Thu, Oct 23, 2008 at 3:54 PM, Mike Isely <isely@isely.net> wrote:
> On Thu, 23 Oct 2008, Greg KH wrote:
>
>> On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
>> > On Mon, 20 Oct 2008, Greg KH wrote:
>> >
>
> [...]
>
>> > >
>> > > Will this patch be sent to the -stable group, to fix this regression in
>> > > 2.6.27? Or should they take Alan's fix instead?
>> > >
>> >
>> > Greg:
>> >
>> > I didn't directly answer your question here because I had figured it was
>> > answered in a previous post on this thread, that Mike Krufky had already
>> > explicitly asked that it be queued (and added his Reviewed-By tag), and
>> > that I figured it best not to add yet more noise to an already noisy
>> > group.
>> >
>> > However now I see that this patch didn't get into 2.6.27.3. It's a
>> > pretty important fix; without it the pvrusb2 driver is worse than
>> > useless (unless one adds initusbreset=0 as a module option).
>>
>> As we were discussing this on Monday, and the review cycle for 2.6.27.3
>> started last Saturday, it would have been pretty hard to get it into
>> 2.6.27.3 :)
>>
>> I need to see the patch in Linus's tree first, before it can go into any
>> stable release. Is it in there yet? If so, please send me the git
>> commit id and I'll queue it up for the next -stable round.
>>
>
> OK, I understand.
>
> As far as I know, Linus has not yet pulled the changes from Mauro (part
> of a larger set). But that information is a few hours old. I or Mike
> Krufky will let you know if/when one of us finds out.
>
> Thanks for following up.
>
> -Mike
Mike,
Have you tested to confirm that FX2 firmware download without USB
reset still leaves the DTV firmware commands operable?
In other words, I'm not entirely sure about this fix. If both Digital
and Analog still work with the patch included, then as far as I am
concerned, its fine for stable.
Greg, this is already in Linus' tree as of a few hours ago. I had
already cherry-picked it and had planned to send it off to you after
testing it myself, but I probably wont get to that until Saturday or
Sunday.
If Mike Isely can confirm that Digital modes still work on the HVR1950
after a firmware download without an FX2 reset, then we don't need to
wait for my own testing.
The changeset in Linus tree is: c82732a42896364296599b0f73f01c5e3fd781ae
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Please wait on test results from Mike Isely or I confirming that
digital mode still works properly before queuing this one.
Thanks,
Mike Krufky
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-23 22:04 ` Michael Krufky
@ 2008-10-23 22:11 ` Justin Piszcz
2008-10-24 5:43 ` Mike Isely
0 siblings, 1 reply; 24+ messages in thread
From: Justin Piszcz @ 2008-10-23 22:11 UTC (permalink / raw)
To: Michael Krufky
Cc: Mike Isely, Greg KH, Alan Stern, Oliver Neukum,
Kernel development list, USB list
On Thu, 23 Oct 2008, Michael Krufky wrote:
> On Thu, Oct 23, 2008 at 3:54 PM, Mike Isely <isely@isely.net> wrote:
>> On Thu, 23 Oct 2008, Greg KH wrote:
>>
>>> On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
>>>> On Mon, 20 Oct 2008, Greg KH wrote:
>>>>
>>
>> [...]
>>
>>>>>
>>>>> Will this patch be sent to the -stable group, to fix this regression in
>>>>> 2.6.27? Or should they take Alan's fix instead?
>>>>>
>>>>
>>>> Greg:
[ .. ]
> The changeset in Linus tree is: c82732a42896364296599b0f73f01c5e3fd781ae
>
> Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
>
> Please wait on test results from Mike Isely or I confirming that
> digital mode still works properly before queuing this one.
>
> Thanks,
>
> Mike Krufky
>
I only tested analog here for the 1950 FYI.
Justin.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-23 22:11 ` Justin Piszcz
@ 2008-10-24 5:43 ` Mike Isely
2008-10-24 15:29 ` Michael Krufky
0 siblings, 1 reply; 24+ messages in thread
From: Mike Isely @ 2008-10-24 5:43 UTC (permalink / raw)
To: Justin Piszcz
Cc: Michael Krufky, Greg KH, Alan Stern, Oliver Neukum,
Kernel development list, USB list, Mike Isely at pobox
On Thu, 23 Oct 2008, Justin Piszcz wrote:
>
>
> On Thu, 23 Oct 2008, Michael Krufky wrote:
>
> > On Thu, Oct 23, 2008 at 3:54 PM, Mike Isely <isely@isely.net> wrote:
> > > On Thu, 23 Oct 2008, Greg KH wrote:
> > >
> > > > On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
> > > > > On Mon, 20 Oct 2008, Greg KH wrote:
> > > > >
> > >
> > > [...]
> > >
> > > > > >
> > > > > > Will this patch be sent to the -stable group, to fix this regression
> > > > > > in
> > > > > > 2.6.27? Or should they take Alan's fix instead?
> > > > > >
> > > > >
> > > > > Greg:
>
> [ .. ]
>
> > The changeset in Linus tree is: c82732a42896364296599b0f73f01c5e3fd781ae
> >
> > Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
> >
> > Please wait on test results from Mike Isely or I confirming that
> > digital mode still works properly before queuing this one.
> >
> > Thanks,
> >
> > Mike Krufky
> >
>
> I only tested analog here for the 1950 FYI.
>
> Justin.
Analog and digital HVR-1950 operation are unaffected by the reset fix
here. This is safe.
-Mike
--
Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-24 5:43 ` Mike Isely
@ 2008-10-24 15:29 ` Michael Krufky
2008-10-24 21:30 ` Greg KH
0 siblings, 1 reply; 24+ messages in thread
From: Michael Krufky @ 2008-10-24 15:29 UTC (permalink / raw)
To: Mike Isely
Cc: Justin Piszcz, Greg KH, Alan Stern, Oliver Neukum,
Kernel development list, USB list
[-- Attachment #1: Type: text/plain, Size: 1545 bytes --]
On Fri, Oct 24, 2008 at 1:43 AM, Mike Isely <isely@isely.net> wrote:
> On Thu, 23 Oct 2008, Justin Piszcz wrote:
>
>>
>>
>> On Thu, 23 Oct 2008, Michael Krufky wrote:
>>
>> > On Thu, Oct 23, 2008 at 3:54 PM, Mike Isely <isely@isely.net> wrote:
>> > > On Thu, 23 Oct 2008, Greg KH wrote:
>> > >
>> > > > On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
>> > > > > On Mon, 20 Oct 2008, Greg KH wrote:
>> > > > >
>> > >
>> > > [...]
>> > >
>> > > > > >
>> > > > > > Will this patch be sent to the -stable group, to fix this regression
>> > > > > > in
>> > > > > > 2.6.27? Or should they take Alan's fix instead?
>> > > > > >
>> > > > >
>> > > > > Greg:
>>
>> [ .. ]
>>
>> > The changeset in Linus tree is: c82732a42896364296599b0f73f01c5e3fd781ae
>> >
>> > Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
>> >
>> > Please wait on test results from Mike Isely or I confirming that
>> > digital mode still works properly before queuing this one.
>> >
>> > Thanks,
>> >
>> > Mike Krufky
>> >
>>
>> I only tested analog here for the 1950 FYI.
>>
>> Justin.
>
> Analog and digital HVR-1950 operation are unaffected by the reset fix
> here. This is safe.
>
> -Mike
>
> --
>
> Mike Isely
> isely @ pobox (dot) com
> PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
>
I concur. This patch is fine for -stable. (I tested digital myself
last night / this morning and its fine)
Greg -- any chance you can slip this in to 2.6.27.4 ? The driver is
entirely broken otherwise.
cherry-picked changeset attached...
Thanks,
Mike Krufky
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-V4L-pvrusb2-Fix-deadlock-problem.patch --]
[-- Type: text/x-diff; name=0001-V4L-pvrusb2-Fix-deadlock-problem.patch, Size: 2856 bytes --]
From ac36d2de0e2187f322ce085618c3ddc2954a0c2e Mon Sep 17 00:00:00 2001
From: Mike Isely <isely@pobox.com>
Date: Sun, 19 Oct 2008 16:26:05 -0300
Subject: [PATCH] V4L: pvrusb2: Fix deadlock problem
Fix deadlock problem in 2.6.27 caused by new USB core behavior in
response to a USB device reset request. With older kernels, the USB
device reset was "in line"; the reset simply took place and the driver
retained its association with the hardware. However now this reset
triggers a disconnect, and worse still the disconnect callback happens
in the context of the caller who asked for the device reset. This
results in an attempt by the pvrusb2 driver to recursively take a
mutex it already has, which deadlocks the driver's worker thread.
(Even if the disconnect callback were to happen on a different thread
we'd still have problems however - because while the driver should
survive and correctly disconnect / reconnect, it will then trigger
another device reset during the repeated initialization, which will
then cause another disconect, etc, forever.) The fix here is simply
to not attempt the device reset (it was of marginal value anyway).
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
(cherry picked from commit c82732a42896364296599b0f73f01c5e3fd781ae)
---
drivers/media/video/pvrusb2/pvrusb2-hdw.c | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index f051c6a..7412258 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -60,7 +60,6 @@ static struct pvr2_hdw *unit_pointers[PVR_NUM] = {[ 0 ... PVR_NUM-1 ] = NULL};
static DEFINE_MUTEX(pvr2_unit_mtx);
static int ctlchg;
-static int initusbreset = 1;
static int procreload;
static int tuner[PVR_NUM] = { [0 ... PVR_NUM-1] = -1 };
static int tolerance[PVR_NUM] = { [0 ... PVR_NUM-1] = 0 };
@@ -71,8 +70,6 @@ module_param(ctlchg, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(ctlchg, "0=optimize ctl change 1=always accept new ctl value");
module_param(init_pause_msec, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(init_pause_msec, "hardware initialization settling delay");
-module_param(initusbreset, int, S_IRUGO|S_IWUSR);
-MODULE_PARM_DESC(initusbreset, "Do USB reset device on probe");
module_param(procreload, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(procreload,
"Attempt init failure recovery with firmware reload");
@@ -1698,9 +1695,6 @@ static void pvr2_hdw_setup_low(struct pvr2_hdw *hdw)
}
hdw->fw1_state = FW1_STATE_OK;
- if (initusbreset) {
- pvr2_hdw_device_reset(hdw);
- }
if (!pvr2_hdw_dev_ok(hdw)) return;
for (idx = 0; idx < hdw->hdw_desc->client_modules.cnt; idx++) {
--
1.5.4.3
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)]
2008-10-24 15:29 ` Michael Krufky
@ 2008-10-24 21:30 ` Greg KH
0 siblings, 0 replies; 24+ messages in thread
From: Greg KH @ 2008-10-24 21:30 UTC (permalink / raw)
To: Michael Krufky
Cc: Mike Isely, Justin Piszcz, Alan Stern, Oliver Neukum,
Kernel development list, USB list
On Fri, Oct 24, 2008 at 11:29:36AM -0400, Michael Krufky wrote:
> On Fri, Oct 24, 2008 at 1:43 AM, Mike Isely <isely@isely.net> wrote:
> > On Thu, 23 Oct 2008, Justin Piszcz wrote:
> >
> >>
> >>
> >> On Thu, 23 Oct 2008, Michael Krufky wrote:
> >>
> >> > On Thu, Oct 23, 2008 at 3:54 PM, Mike Isely <isely@isely.net> wrote:
> >> > > On Thu, 23 Oct 2008, Greg KH wrote:
> >> > >
> >> > > > On Thu, Oct 23, 2008 at 11:27:11AM -0500, Mike Isely wrote:
> >> > > > > On Mon, 20 Oct 2008, Greg KH wrote:
> >> > > > >
> >> > >
> >> > > [...]
> >> > >
> >> > > > > >
> >> > > > > > Will this patch be sent to the -stable group, to fix this regression
> >> > > > > > in
> >> > > > > > 2.6.27? Or should they take Alan's fix instead?
> >> > > > > >
> >> > > > >
> >> > > > > Greg:
> >>
> >> [ .. ]
> >>
> >> > The changeset in Linus tree is: c82732a42896364296599b0f73f01c5e3fd781ae
> >> >
> >> > Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
> >> >
> >> > Please wait on test results from Mike Isely or I confirming that
> >> > digital mode still works properly before queuing this one.
> >> >
> >> > Thanks,
> >> >
> >> > Mike Krufky
> >> >
> >>
> >> I only tested analog here for the 1950 FYI.
> >>
> >> Justin.
> >
> > Analog and digital HVR-1950 operation are unaffected by the reset fix
> > here. This is safe.
> >
> > -Mike
> >
> > --
> >
> > Mike Isely
> > isely @ pobox (dot) com
> > PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8
> >
>
> I concur. This patch is fine for -stable. (I tested digital myself
> last night / this morning and its fine)
>
> Greg -- any chance you can slip this in to 2.6.27.4 ? The driver is
> entirely broken otherwise.
Yes, I will add it right now.
thanks for your persistance.
greg k-h
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2008-10-24 21:44 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-19 11:26 Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE) Justin Piszcz
2008-10-19 11:28 ` Justin Piszcz
2008-10-19 15:34 ` Oliver Neukum
2008-10-19 16:51 ` Justin Piszcz
2008-10-20 14:02 ` Alan Stern
2008-10-20 15:21 ` Justin Piszcz
2008-10-20 16:17 ` Bug fix for pvrusb2 driver [was: Re: Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE)] Alan Stern
2008-10-20 16:21 ` Mike Isely
2008-10-20 16:33 ` Justin Piszcz
2008-10-20 16:50 ` Mike Isely
2008-10-20 17:03 ` Justin Piszcz
2008-10-20 17:16 ` Alan Stern
2008-10-20 16:37 ` Mike Isely
2008-10-20 17:29 ` Greg KH
2008-10-20 18:01 ` Michael Krufky
2008-10-23 16:27 ` Mike Isely
2008-10-23 19:15 ` Greg KH
2008-10-23 19:54 ` Mike Isely
2008-10-23 22:04 ` Michael Krufky
2008-10-23 22:11 ` Justin Piszcz
2008-10-24 5:43 ` Mike Isely
2008-10-24 15:29 ` Michael Krufky
2008-10-24 21:30 ` Greg KH
2008-10-19 15:34 ` Kernel 2.6.26.5 -> 2.6.27.2 [USB REGRESSION] (USB -> D_STATE) Alan Stern
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).