On Jul 29, 2011, at 1:53 AM, Mauro Carvalho Chehab wrote: > rc unregister logic were deadly broken, preventing some drivers to > be removed. Among the broken things, rc_dev_uevent() is being called > during device_del(), causing a data filling on an area that it is > not ready anymore. > > Also, some drivers have a stop callback defined, that needs to be called > before data removal, as it stops data polling. > > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > > diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c > index 51a23f4..666d4bb 100644 > --- a/drivers/media/rc/rc-main.c > +++ b/drivers/media/rc/rc-main.c > @@ -928,10 +928,6 @@ out: > > static void rc_dev_release(struct device *device) > { > - struct rc_dev *dev = to_rc_dev(device); > - > - kfree(dev); > - module_put(THIS_MODULE); > } Since this function become a no-op, does it make sense to just remove it and not set a .release function for static struct device_type rc_dev_type? Other than that, after reading through the patch several times, along with the resulting rc-main.c and some input code, everything seems to make sense to me. Will do some quick sanity-testing with a few of my various devices before I give an ack though, just to be sure. :) -- Jarod Wilson jarod@xxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html