sysfs: Initialised pci bus legacy_mem field before use
authorMel Gorman <mel@csn.ul.ie>
Wed, 10 Mar 2010 22:48:34 +0000 (22:48 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 19 Mar 2010 14:12:11 +0000 (07:12 -0700)
PPC64 is failing to boot the latest mmotm due to an uninitialised pointer in
pci_create_legacy_files(). The surprise is that machines boot at all and it
would appear to affect current mainline as well.  This patch fixes the problem.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/pci-sysfs.c

index de296452c957b7fb7ecb352ed03b7926913c98a9..997668558e79840eee9493ee9c6400a2cbd2da8c 100644 (file)
@@ -655,8 +655,8 @@ void pci_create_legacy_files(struct pci_bus *b)
                goto legacy_io_err;
 
        /* Allocated above after the legacy_io struct */
-       sysfs_bin_attr_init(b->legacy_mem);
        b->legacy_mem = b->legacy_io + 1;
+       sysfs_bin_attr_init(b->legacy_mem);
        b->legacy_mem->attr.name = "legacy_mem";
        b->legacy_mem->size = 1024*1024;
        b->legacy_mem->attr.mode = S_IRUSR | S_IWUSR;