[SCSI] attirbute_container: Initialize sysfs attributes with sysfs_attr_init
authorJames Bottomley <James.Bottomley@suse.de>
Sat, 20 Mar 2010 17:44:12 +0000 (12:44 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Sat, 27 Mar 2010 19:15:24 +0000 (15:15 -0400)
All of the SCSI transport classes are suddenly spitting lockdep
warnings.  According to Eric Biderman this is because lockdep needs
static initialisers and the attribute container way of doing things
end up with dynamic sysfs attributes.  Fix this by calling
sysfs_attr_init which sets the lockdep key correctly.

Tested-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/base/attribute_container.c

index b9cda05..8fc200b 100644 (file)
@@ -328,6 +328,7 @@ attribute_container_add_attrs(struct device *classdev)
                return sysfs_create_group(&classdev->kobj, cont->grp);
 
        for (i = 0; attrs[i]; i++) {
+               sysfs_attr_init(&attrs[i]->attr);
                error = device_create_file(classdev, attrs[i]);
                if (error)
                        return error;