From: Dave Penkler Date: Sat, 26 Apr 2025 15:03:19 +0000 (+0200) Subject: staging: gpib: Fix lpvo request_system_control X-Git-Tag: v6.16-rc1~31^2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75d9d7c29b7f00045d859226592f2917b31b997e;p=thirdparty%2Fkernel%2Flinux.git staging: gpib: Fix lpvo request_system_control 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 Link: https://lore.kernel.org/r/20250426150319.5580-1-dpenkler@gmail.com Signed-off-by: Greg Kroah-Hartman --- 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; }