Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: DEC2000-t/Kernel 2.6.10: Badness in usb_unlink_urb



On Sun, Jan 09, 2005 at 11:59:18AM +0100, Peter Daum wrote:
> Hi,
> 
> after a long break (for previous experiences see the discussions following
> http://www.linuxtv.org/mailinglists/linux-dvb/2004/06-2004/msg00379.html),
> I just tried, whether there has been any progress with the DEC 2000-t
> usb box. The result was pretty much the same as with earlier attempts.
> 
> What is new, is that Kernel 2.6.10 floods the syslog with stack traces
> complaining about a "Badness in usb_unlink_urb". Attached below are
> the messages right after connecting the box. Pretty much any action
> regarding the device will yield some more of these messages. Maybe the
> stack trace can bring enlightenment ...
> 
> Note, that these kernel messages do not seem to reflect any new
> problem - everything still works as good or bad as described before
> (except reading from /dev/dvb/adapter0/dvr0 usually works). For most
> practical purposes it's still almost useless, because after some
> channel changes the box inevitably will die :-(


I don't have the problem (cvs+2.6.10-ac7), but this patch shut up the
BUG() (or whatever it is).

Use at your own risk - I'm ot a programmer ^_^

-- 
/__
\_|\/
   /\
diff -Nur dvb-kernel/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c dvb-kernel-20041111/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
--- dvb-kernel/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c	2004-10-28 20:05:44.000000000 +0100
+++ dvb-kernel-20041111/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c	2004-11-11 18:46:35.000000000 +0000
@@ -759,7 +759,7 @@
 
 	if (!dec->iso_stream_count) {
 		for (i = 0; i < ISO_BUF_COUNT; i++)
-			usb_unlink_urb(dec->iso_urb[i]);
+			usb_kill_urb(dec->iso_urb[i]);
 	}
 
 	up(&dec->iso_sem);
@@ -824,7 +824,7 @@
 				       "error %d\n", __FUNCTION__, i, result);
 
 				while (i) {
-					usb_unlink_urb(dec->iso_urb[i - 1]);
+					usb_kill_urb(dec->iso_urb[i - 1]);
 					i--;
 				}
 
@@ -1386,7 +1386,7 @@
 	dec->iso_stream_count = 0;
 
 	for (i = 0; i < ISO_BUF_COUNT; i++)
-		usb_unlink_urb(dec->iso_urb[i]);
+		usb_kill_urb(dec->iso_urb[i]);
 
 	ttusb_dec_free_iso_urbs(dec);
 }

Home | Main Index | Thread Index