lkml.org 
[lkml]   [2005]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] add transport class symlink to device object
    On 8/18/05, Greg KH <greg@kroah.com> wrote:
    > @@ -500,9 +519,13 @@ int class_device_add(struct class_device
    > }
    >
    > class_device_add_attrs(class_dev);
    > - if (class_dev->dev)
    > + if (class_dev->dev) {
    > + class_name = make_class_name(class_dev);
    > sysfs_create_link(&class_dev->kobj,
    > &class_dev->dev->kobj, "device");
    > + sysfs_create_link(&class_dev->dev->kobj, &class_dev->kobj,
    > + class_name);
    > + }
    >

    I wonder if we need to grab a reference to class_dev->dev here:

    dev = device_get(class_dev->dev);
    if (dev) {
    ....
    }

    Otherwise, if device gets unregistered/deleted before class device is
    deleted we'll get into trouble when removing the link since
    class_dev->dev will be garbage.

    .. But grabbing that reference will cause pains in SCSI system which,
    when I looked, removed class devices from device's release function.

    --
    Dmitry
    -
    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/

    \
     
     \ /
      Last update: 2005-08-18 21:53    [W:0.022 / U:2.324 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site