if cdev_add() fails, do you need to "put" the cdev's kobject?

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

 



  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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux