Re: [parisc-linux] [PATCH 2/2] Make pcibios_add_platform_entries() return errors
From: James Bottomley <hidden>
Date: 2007-03-06 18:09:01
Also in:
linux-mips, sparclinux
On Tue, 2007-03-06 at 16:06 +0100, Michael Ellerman wrote:
quoted hunk ↗ jump to hunk
int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)@@ -644,10 +644,13 @@ int __must_check pci_create_sysfs_dev_fi } } /* add platform-specific attributes */ - pcibios_add_platform_entries(pdev); + if (pcibios_add_platform_entries(pdev)) + goto err_rom_attr; return 0; +err_rom_attr: + sysfs_remove_bin_file(&pdev->dev.kobj, rom_attr);
This file is only created if the rom resource has a non-zero length. If you unconditionally call sysfs_remove_bin_file() it's going to spit scary warnings and dump traces in this error leg if the rom resource doesn't exist. James
quoted hunk ↗ jump to hunk
err_rom: kfree(rom_attr); err_bin_file: Index: msi-new/include/linux/pci.h ===================================================================--- msi-new.orig/include/linux/pci.h +++ msi-new/include/linux/pci.h@@ -857,7 +857,7 @@ extern int pci_pci_problems; extern unsigned long pci_cardbus_io_size; extern unsigned long pci_cardbus_mem_size; -extern void pcibios_add_platform_entries(struct pci_dev *dev); +extern int pcibios_add_platform_entries(struct pci_dev *dev); #endif /* __KERNEL__ */ #endif /* LINUX_PCI_H */_______________________________________________ parisc-linux mailing list parisc-linux@lists.parisc-linux.org http://lists.parisc-linux.org/mailman/listinfo/parisc-linux