From: Nihar Chaithanya Date: Mon, 30 Dec 2024 18:56:25 +0000 (+0530) Subject: staging: gpib: cec: Handle gpib_register_driver() errors X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f07296bc75ba01bd260b8f805725b2217750b7e3;p=users%2Fwilly%2Flinux.git staging: gpib: cec: Handle gpib_register_driver() errors The function gpib_register_driver() can fail and result in a semi-registered module and does not return an error value if it fails. Unregister the pci registering function in case gpib_register_driver() fails and return the error value. Add pr_err() statements indicating the fail and also the error value. Signed-off-by: Nihar Chaithanya Link: https://lore.kernel.org/r/20241230185633.175690-6-niharchaithanya@gmail.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/gpib/cec/cec_gpib.c b/drivers/staging/gpib/cec/cec_gpib.c index 3dc933deb401..e5b0941872f5 100644 --- a/drivers/staging/gpib/cec/cec_gpib.c +++ b/drivers/staging/gpib/cec/cec_gpib.c @@ -365,11 +365,15 @@ static int __init cec_init_module(void) result = pci_register_driver(&cec_pci_driver); if (result) { - pr_err("cec_gpib: pci_driver_register failed!\n"); + pr_err("cec_gpib: pci_register_driver failed: error = %d\n", result); return result; } - gpib_register_driver(&cec_pci_interface, THIS_MODULE); + result = gpib_register_driver(&cec_pci_interface, THIS_MODULE); + if (result) { + pr_err("cec_gpib: gpib_register_driver failed: error = %d\n", result); + return result; + } return 0; }