still perusing various drivers to use as examples in class, and i ran across this snippet in the load routine of drivers/char/raw.c: ===== start excerpt ===== cdev_init(&raw_cdev, &raw_fops); ret = cdev_add(&raw_cdev, dev, MAX_RAW_MINORS); if (ret) { kobject_put(&raw_cdev.kobj); goto error_region; } ===== end ===== of course it's wise to check the return code from cdev_add() to make sure it worked, but is it really necessary to call kobject_put() there? i don't recall other character drivers calling that if they note that cdev_add() failed. it's probably harmless, but it can't be necessary, can it? unless that driver is doing something unusual somewhere else in its code. rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies