summaryrefslogtreecommitdiff
path: root/drivers/staging/gpib
diff options
context:
space:
mode:
authorDave Penkler <dpenkler@gmail.com>2025-04-18 19:34:28 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-25 16:08:26 +0200
commitf56f2d6c9b6514866d489da6175a6cc9a95af02d (patch)
tree35997fafc574b02fa7a98d09a0137d6eaba3f728 /drivers/staging/gpib
parent8ba7c33be02ca099470b3acc21f859b3be4d1d61 (diff)
downloadlinux-next-f56f2d6c9b6514866d489da6175a6cc9a95af02d.tar.gz
linux-next-f56f2d6c9b6514866d489da6175a6cc9a95af02d.zip
staging: gpib: Fix setting controller-in-charge
The gpio board can only act as system controller. By the IEEE488.1 standard a system controller becomes controller-in-charge when it asserts the interface-clear control line. Remove the setting of controller-in-charge from bb_take_control and move it to bb_interface_clear. 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-3-dpenkler@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/gpib')
-rw-r--r--drivers/staging/gpib/gpio/gpib_bitbang.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/gpib/gpio/gpib_bitbang.c b/drivers/staging/gpib/gpio/gpib_bitbang.c
index 29aab72c1f0f..a92c4eda99a0 100644
--- a/drivers/staging/gpib/gpio/gpib_bitbang.c
+++ b/drivers/staging/gpib/gpio/gpib_bitbang.c
@@ -872,7 +872,6 @@ static int bb_take_control(struct gpib_board *board, int synchronous)
{
dbg_printk(2, "%d\n", synchronous);
set_atn(board, 1);
- set_bit(CIC_NUM, &board->status);
return 0;
}
@@ -908,6 +907,7 @@ static void bb_interface_clear(struct gpib_board *board, int assert)
gpiod_direction_output(IFC, 0);
priv->talker_state = talker_idle;
priv->listener_state = listener_idle;
+ set_bit(CIC_NUM, &board->status);
} else {
gpiod_direction_output(IFC, 1);
}