Re: [parisc-linux] [PATCH 2/2] Make pcibios_add_platform_entries() return errors

From: James Bottomley <James.Bottomley_at_SteelEye.com>
Date: 2007-03-07 05:05:01
On Tue, 2007-03-06 at 16:06 +0100, Michael Ellerman wrote:
>  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


>  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

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed Mar 07 05:11:02 2007

This archive was generated by hypermail 2.1.8 : 2007-03-07 05:11:22 EST