Messages in this thread Patch in this message | | | Date | Wed, 19 Apr 2006 13:21:51 +0530 | From | "Thayumanavar Sachithanantham" <> | Subject | Re: [PATCH]drivers/char/cs5535_gpio.c:call cdev_del during module_exit to unmap kobject references and other cleanups. |
| |
During module unloading, cdev_del be called to unmap cdev related kobject references and other cleanups(such as inode->i_cdev being set to NULL) which prevents the OOPS upon subsequent loading ,usage and unloading of modules(as seen in the mail thread: http://marc.theaimsgroup.com/?l=linux-kernel&m=114533640609018&w=2).
Removed test of gpio_base as it is unneeded and will not be zero at module unload time.
Signed-off-by: Thayumanavar Sachithanantham <thayumk@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
--- linux-2.6/drivers/char/cs5535_gpio.c.orig 2006-04-17 21:37:25.000000000 -0700 +++ linux-2.6/drivers/char/cs5535_gpio.c 2006-04-17 23:05:49.000000000 -0700 @@ -241,9 +241,9 @@ static int __init cs5535_gpio_init(void) static void __exit cs5535_gpio_cleanup(void) { dev_t dev_id = MKDEV(major, 0); + cdev_del(&cs5535_gpio_cdev); unregister_chrdev_region(dev_id, CS5535_GPIO_COUNT); - if (gpio_base != 0) - release_region(gpio_base, CS5535_GPIO_SIZE); + release_region(gpio_base, CS5535_GPIO_SIZE); }
module_init(cs5535_gpio_init); - 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/
| |