]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
staging: gpib: Set control lines in attach
authorDave Penkler <dpenkler@gmail.com>
Fri, 18 Apr 2025 17:34:34 +0000 (19:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 14:08:27 +0000 (16:08 +0200)
When the driver is attached the state of the main control lines
is not defined and can lead to hangs. Set the control lines to
a known state (logic false).

Fixes: 4cd654f84769 ("staging: gpib: Add gpio bitbang GPIB driver")
Tested-by: Dave Penkler <dpenkler@gmail.com>
Signed-off-by: Dave Penkler <dpenkler@gmail.com>
Link: https://lore.kernel.org/r/20250418173434.2892-9-dpenkler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gpib/gpio/gpib_bitbang.c

index 5c134cfb6d61f5b76c6caef9ea5de43bec9f3875..625fef24a0bfa61d7b79bce4a5807dfa19bc66a4 100644 (file)
@@ -1262,6 +1262,10 @@ static int bb_attach(struct gpib_board *board, const struct gpib_board_config *c
                gpiod_direction_output(TE, 1);
                gpiod_direction_output(PE, 1);
        }
+/* Set main control lines to a known state */
+       gpiod_direction_output(IFC, 1);
+       gpiod_direction_output(REN, 1);
+       gpiod_direction_output(_ATN, 1);
 
        if (strcmp(PINMAP_2, pin_map) == 0) { /* YOGA: enable level shifters */
                gpiod_direction_output(YOGA_ENABLE, 1);