Trouble removing character device

Daniel Baluta daniel.baluta at gmail.com
Wed Oct 19 16:18:31 EDT 2011


On Wed, Oct 19, 2011 at 7:04 PM, Kai Meyer <kai at gnukai.com> wrote:
> I can't seem to get my character device to remove itself from the
> /proc/devices list. I'm calling all of the following functions like so:
>
> alloc_chrdev_region(&dev, 0, 5, "my_char");
> cdev_init(&my_cdev, &my_ops);
> cdev_add(&my_cdev, MKDEV(my_major, my_minor), 1);
> cdev_del(&my_cdev);
> unregister_chrdev_region(my_major, 5);
>
> It seems like I'm missing something, but I can't find it. I'm
> referencing the Linux Device Drivers v3, chapter 3. In the example code,
> the scull_cleanup_module function calls cdev_dell and
> unregister_chrdev_region, just like I do.
>
> To be clear, after I unload my module (after calling cdev_del and
> unregister_chrdev_region), my "my_char" string still shows up in
> /proc/devices.

Did you check  return codes for all functions?
Also, can you post a link to the code?

thanks,
Daniel.



More information about the Kernelnewbies mailing list