PCIE: check and return bus_register errors
Have pcie_port_bus_register() notice and return errors. Mark it __must_check so that its caller(s) must check its return value. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
6397c75cbc
Коммит
20d516602c
|
@ -39,7 +39,7 @@ extern int pcie_port_device_suspend(struct pci_dev *dev, pm_message_t state);
|
|||
extern int pcie_port_device_resume(struct pci_dev *dev);
|
||||
#endif
|
||||
extern void pcie_port_device_remove(struct pci_dev *dev);
|
||||
extern void pcie_port_bus_register(void);
|
||||
extern int pcie_port_bus_register(void);
|
||||
extern void pcie_port_bus_unregister(void);
|
||||
|
||||
#endif /* _PORTDRV_H_ */
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
* Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
|
||||
*/
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -402,9 +403,9 @@ void pcie_port_device_remove(struct pci_dev *dev)
|
|||
pci_disable_msi(dev);
|
||||
}
|
||||
|
||||
void pcie_port_bus_register(void)
|
||||
int __must_check pcie_port_bus_register(void)
|
||||
{
|
||||
bus_register(&pcie_port_bus_type);
|
||||
return bus_register(&pcie_port_bus_type);
|
||||
}
|
||||
|
||||
void pcie_port_bus_unregister(void)
|
||||
|
|
|
@ -129,12 +129,17 @@ static struct pci_driver pcie_portdrv = {
|
|||
|
||||
static int __init pcie_portdrv_init(void)
|
||||
{
|
||||
int retval = 0;
|
||||
int retval;
|
||||
|
||||
pcie_port_bus_register();
|
||||
retval = pcie_port_bus_register();
|
||||
if (retval) {
|
||||
printk(KERN_WARNING "PCIE: bus_register error: %d\n", retval);
|
||||
goto out;
|
||||
}
|
||||
retval = pci_register_driver(&pcie_portdrv);
|
||||
if (retval)
|
||||
pcie_port_bus_unregister();
|
||||
out:
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче