lkml.org 
[lkml]   [2006]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[OOPS] [PATCH] Avoid race when deregistering the IR control for dvb-usb
Hi,

Does anyone plan on fixing this oops any time soon? I first reported it back with 2.6.16.2!

http://lkml.org/lkml/2006/4/14/58

Basically, the work item function is dvb_usb_read_remote_control():

INIT_WORK(&d->rc_query_work, dvb_usb_read_remote_control, d);

and the last piece of work it does is:

schedule_delayed_work(&d->rc_query_work,msecs_to_jiffies(d->props.rc_interval));

Hence you need to call "cancel_rearming_delayed_work()" and not "cancel_delayed_work()", correct?
I certainly haven't seen this oops reoccur since I applied this patch.

Cheers,
Chris

--- linux-2.6.16/drivers/media/dvb/dvb-usb/dvb-usb-remote.c.orig 2006-01-03
20:04:51.000000000 +0000
+++ linux-2.6.16/drivers/media/dvb/dvb-usb/dvb-usb-remote.c 2006-05-08 20:44:44.000000000
+0100
@@ -138,7 +138,7 @@
int dvb_usb_remote_exit(struct dvb_usb_device *d)
{
if (d->state & DVB_USB_STATE_REMOTE) {
- cancel_delayed_work(&d->rc_query_work);
+ cancel_rearming_delayed_work(&d->rc_query_work);
flush_scheduled_work();
input_unregister_device(d->rc_input_dev);
}

Send instant messages to your online friends http://uk.messenger.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-12-10 21:03    [W:0.051 / U:1.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site