[PATCH V2] staging: gpib: Fix lpvo request_system_control

From: Dave Penkler
Date: Sat Apr 26 2025 - 11:03:58 EST


The IEEE-488 GPIB standard was designed to ensure that there is only ever
one controller-in-charge on the bus at any one time. If a board becomes
controller-in-charge on request_system_control there is no way to ensure
that there is not another board also acting as controller-in-charge.
This can lead to bus conflicts and hangs.

Remove the setting of controller-in-charge from request_system_control.

Fixes: fce79512a96a ("staging: gpib: Add LPVO DIY USB GPIB driver")
Signed-off-by: Dave Penkler <dpenkler@xxxxxxxxx>
---

Changes V1->V2: Expand commit message to include user impact of bug

drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c b/drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c
index 2e315c7756c4..3cf5037c0cd2 100644
--- a/drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c
+++ b/drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c
@@ -916,7 +916,6 @@ static int usb_gpib_request_system_control(struct gpib_board *board, int request
if (!request_control)
return -EINVAL;

- set_bit(CIC_NUM, &board->status);
DIA_LOG(1, "done with %d -> %lx\n", request_control, board->status);
return 0;
}
--
2.49.0