GPIB secondary addresses have valid values between 0 and 31
inclusive. The Make Secondary Address function MSA, used to form
the protocol byte, was using the gpib_address_restrict function
erroneously restricting the address range to 0 through 30.
Remove the call to gpib_address_restrict and simply trim the
address to 5 bits.
Fixes: 2da03e7e31aa ("staging: gpib: Add user api include files")
Signed-off-by: Dave Penkler <dpenkler@gmail.com>
Link: https://lore.kernel.org/r/20250520155100.5808-1-dpenkler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
static inline __u8 MSA(unsigned int addr)
{
- return gpib_address_restrict(addr) | SAD;
+ return (addr & 0x1f) | SAD;
}
static inline __u8 PPE_byte(unsigned int dio_line, int sense)