[OOPS] [PATCH] Avoid race when deregistering the IR control for dvb-usb

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

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux