[PATCH 7/8] Staging: gpib: `request_system_control` error handling in resume

From: Thomas Andreatta
Date: Thu May 01 2025 - 17:32:03 EST


Function `agilent_82357a_driver_resume` now handles the return value of
`agilent_82357a_request_system_control` unlocking and returning error in case
of failure.

Signed-off-by: Thomas Andreatta <thomas.andreatta2000@xxxxxxxxx>
---
drivers/staging/gpib/agilent_82357a/agilent_82357a.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/gpib/agilent_82357a/agilent_82357a.c b/drivers/staging/gpib/agilent_82357a/agilent_82357a.c
index ce2d3850ba31..4fdf6d42f63e 100644
--- a/drivers/staging/gpib/agilent_82357a/agilent_82357a.c
+++ b/drivers/staging/gpib/agilent_82357a/agilent_82357a.c
@@ -1625,7 +1625,13 @@ static int agilent_82357a_driver_resume(struct usb_interface *interface)
return retval;
}
// set/unset system controller
- agilent_82357a_request_system_control(board, board->master);
+ retval = agilent_82357a_request_system_control(board, board->master);
+ if (retval) {
+ dev_err(&usb_dev->dev, "failed to request system control in resume, retval=%i\n",
+ retval);
+ mutex_unlock(&agilent_82357a_hotplug_lock);
+ return retval;
+ }
// toggle ifc if master
if (board->master) {
agilent_82357a_interface_clear(board, 1);
--
2.34.1