]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
staging: gpib: Fix lpvo request_system_control
authorDave Penkler <dpenkler@gmail.com>
Sat, 26 Apr 2025 15:03:19 +0000 (17:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 May 2025 15:55:01 +0000 (17:55 +0200)
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@gmail.com>
Link: https://lore.kernel.org/r/20250426150319.5580-1-dpenkler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gpib/lpvo_usb_gpib/lpvo_usb_gpib.c

index 2e315c7756c4a94b1ec6b661ee04febd888ca2aa..3cf5037c0cd2c98465192f9438a5b4093d148ba8 100644 (file)
@@ -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;
 }