mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 05:04:20 +00:00
pci: fix __pci_register_driver error handling
__pci_register_driver() error path forgot to unwind. driver_unregister() needs to be called when pci_create_newid_file() failed. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0dcb2b7e72
commit
50bf14b3ff
1 changed files with 5 additions and 2 deletions
|
@ -445,9 +445,12 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner)
|
||||||
|
|
||||||
/* register with core */
|
/* register with core */
|
||||||
error = driver_register(&drv->driver);
|
error = driver_register(&drv->driver);
|
||||||
|
if (error)
|
||||||
|
return error;
|
||||||
|
|
||||||
if (!error)
|
error = pci_create_newid_file(drv);
|
||||||
error = pci_create_newid_file(drv);
|
if (error)
|
||||||
|
driver_unregister(&drv->driver);
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue