[PATCH v6 00/15] staging: gpib: Handle gpib_register_driver() errors

Nihar Chaithanya
2024-12-30T19:09:42Z

While reviewing the patch for fixing Coverity scan issue from
gpib: cb7210 [1], Greg pointed out that the gpib_register_driver()
function can fail and must return an error value if it fails.

This patch series fixes the above issue by changing the return type
of gpib_register_driver() function and returning the error value if
it fails.

This fix also makes sure that wherever the gpib_register_driver() is
called and if it fails - the previous driver register functions are
unregistered (if they exist) and the error value is returned. The
pr_err() statements are added indicating the fail and the error value.

Thanks,
Nihar

v5 --> v6 : Removed unnecessary pr_info() statements when the drivers are
working properly. Added pr_err() in all cases of the driver
registration fail - indicating the failure and also the
error value.

v4 --> v5 : Added pr_* statements indicating when the driver register
functions fail or if the module is initialized without errors.

v3 --> v4 : Made the v3 patch into series and also fixed an error in
v3 [2]. Each patch in this series is a fix for particular
driver handling the gpib_register_driver() error.

v2 --> v3 : Modified the gpib_register_driver() to return error code,
added error handling to all the places that the
gpib_register_driver() is called.

v1 --> v2 : Replaced the redundant cb_pcmcia_init_module() with
pcmcia_register_driver().

Link to v5 : https://lore.kernel.org/all/20241228060800.107653-1-niharchaithanya@gmail.com/
Link to v4 : https://lore.kernel.org/all/20241226193637.241049-1-niharchaithanya@gmail.com/
Link to v3 : https://lore.kernel.org/all/20241221214822.163667-1-niharchaithanya@gmail.com/
Link to v2 : https://lore.kernel.org/all/20241221091121.35476-1-niharchaithanya@gmail.com/
Link to v1 : https://lore.kernel.org/all/20241221022632.20931-1-niharchaithanya@gmail.com/

[1] https://lore.kernel.org/all/2024122133-outskirts-causing-099a@gregkh/
[2] https://lore.kernel.org/all/202412221424.WIjKFIPf-lkp@intel.com/

Nihar Chaithanya (15):
staging: gpib: Modify gpib_register_driver() to return error if it
fails
staging: gpib: agilent_82350b: Handle gpib_register_driver() errors
staging: gpib: agilent_82357a: Handle gpib_register_driver() errors
staging: gpib: cb7210: Handle gpib_register_driver() errors
staging: gpib: cec: Handle gpib_register_driver() errors
staging: gpib: fluke: Handle gpib_register_driver() errors
staging: gpib: fmh: Handle gpib_register_driver() errors
staging: gpib: gpio: Return error value from gpib_register_driver()
staging: gpib: hp_82335: Return error value from
gpib_register_driver()
staging: gpib: hp_82341: Handle gpib_register_driver() errors
staging: gpib: ines: Handle gpib_register_driver() errors
staging: gpib: lpvo_usb: Return error value from
gpib_register_driver()
staging: gpib: ni_usb: Handle gpib_register_driver() errors
staging: gpib: pc2: Handle gpib_register_driver() errors
staging: gpib: tnt4882: Handle gpib_register_driver() errors

.../gpib/agilent_82350b/agilent_82350b.c | 23 +++-
.../gpib/agilent_82357a/agilent_82357a.c | 16 ++-
drivers/staging/gpib/cb7210/cb7210.c | 116 ++++++++++++++----
drivers/staging/gpib/cec/cec_gpib.c | 8 +-
drivers/staging/gpib/common/gpib_os.c | 7 +-
drivers/staging/gpib/eastwood/fluke_gpib.c | 32 ++++-
drivers/staging/gpib/fmh_gpib/fmh_gpib.c | 47 +++++--
drivers/staging/gpib/gpio/gpib_bitbang.c | 7 +-
drivers/staging/gpib/hp_82335/hp82335.c | 8 +-
drivers/staging/gpib/hp_82341/hp_82341.c | 17 ++-
drivers/staging/gpib/include/gpibP.h | 2 +-
drivers/staging/gpib/ines/ines_gpib.c | 94 ++++++++++----
.../gpib/lpvo_usb_gpib/lpvo_usb_gpib.c | 6 +-
drivers/staging/gpib/ni_usb/ni_usb_gpib.c | 15 ++-
drivers/staging/gpib/pc2/pc2_gpib.c | 38 +++++-
drivers/staging/gpib/tnt4882/tnt4882_gpib.c | 106 ++++++++++++++--
16 files changed, 447 insertions(+), 95 deletions(-)

--
2.34.1