bluetooth: remove improper bluetooth class symlinks.
Greg Kroah-Hartman [Tue, 27 May 2008 18:50:16 +0000 (11:50 -0700)]
Don't create symlinks in a class to a device that is not owned by the
class.  If the bluetooth subsystem really wants to point to all of the
devices it controls, it needs to create real devices, not fake symlinks.

Cc: Maxim Krasnyansky <maxk@qualcomm.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

net/bluetooth/hci_sysfs.c

index 844ca5f..c85bf8f 100644 (file)
@@ -398,10 +398,6 @@ int hci_register_sysfs(struct hci_dev *hdev)
                if (device_create_file(dev, bt_attrs[i]) < 0)
                        BT_ERR("Failed to create device attribute");
 
-       if (sysfs_create_link(&bt_class->subsys.kobj,
-                               &dev->kobj, kobject_name(&dev->kobj)) < 0)
-               BT_ERR("Failed to create class symlink");
-
        return 0;
 }
 
@@ -409,9 +405,6 @@ void hci_unregister_sysfs(struct hci_dev *hdev)
 {
        BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
 
-       sysfs_remove_link(&bt_class->subsys.kobj,
-                                       kobject_name(&hdev->dev.kobj));
-
        device_del(&hdev->dev);
 }