• Roland Dreier's avatar
    IB/cm: Fix infiniband_cm class kobject ref counting · 7c7a9bcc
    Roland Dreier authored
    Commit 9af57b7a ("IB/cm: Add basic performance counters") introduced a
    bug in how the reference count for cm_class.subsys.kobj was handled:
    the path that released a device did a kobject_put() on that kobject, but
    there was no kobject_get() in the path the handles adding a device.  So
    the reference count ended up too low, which leads to bad things.  Fix up
    and simplify the reference counting to avoid this.
    
    (Actually, I introduced the bug when fixing the patch up to match some
    of Greg's kobject changes, but who's counting)
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    7c7a9bcc
cm.c 106 KB