| ed375186 | 25-Feb-2025 |
Rodrigo Gobbi <[email protected]> |
staging: gpib: change return type of t1_delay function to report errors
The current code returns "unsigned int" and it doesn't handle errors correctly if it happens during ioctl call for t1 delay co
staging: gpib: change return type of t1_delay function to report errors
The current code returns "unsigned int" and it doesn't handle errors correctly if it happens during ioctl call for t1 delay configuration.
The ni_usb_t1_delay(), from NI, is the only function returning -1 at this point. The caller, t1_delay_ioctl(), doesn't check for errors and sets board->t1_nano_sec to -1 and returns success. The board->t1_nano_sec value is also used in ni_usb_setup_t1_delay() besides the ioctl call and a value of -1 is treated as being above 1100ns. It may or may not have a noticeable effect, but it's obviously not right considering the content of ni_usb_setup_t1_delay().
Typical delays are in the 200-2000 range, but definitely not more than INT_MAX so we can fix this code by changing the return type to int and adding a check for errors. While we're at it, lets change the error code in ni_usb_t1_delay() from -1 and instead propagate the error from ni_usb_write_registers().
Fixes: 4e127de14fa7 ("staging: gpib: Add National Instruments USB GPIB driver") Signed-off-by: Rodrigo Gobbi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
| 4a2b4d93 | 19-Mar-2025 |
Michael Rubin <[email protected]> |
staging: gpib: Removing typedef for gpib_board
Removing typedef as per Linux code style.
Adhering to Linux code style.
In general, a pointer, or a struct that has elements that can reasonably be d
staging: gpib: Removing typedef for gpib_board
Removing typedef as per Linux code style.
Adhering to Linux code style.
In general, a pointer, or a struct that has elements that can reasonably be directly accessed should never be a typedef.
Signed-off-by: Michael Rubin <[email protected]> Acked-By: Dave Penkler <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
| 50af7beb | 19-Mar-2025 |
Michael Rubin <[email protected]> |
staging: gpib: struct typing for gpib_gboard_t
Using Linux code style for gpib_board struct.
Adhering to Linux code style.
In general, a pointer, or a struct that has elements that can reasonably
staging: gpib: struct typing for gpib_gboard_t
Using Linux code style for gpib_board struct.
Adhering to Linux code style.
In general, a pointer, or a struct that has elements that can reasonably be directly accessed should never be a typedef.
Signed-off-by: Michael Rubin <[email protected]> Acked-By: Dave Penkler <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
| e473ee28 | 19-Mar-2025 |
Michael Rubin <[email protected]> |
staging: gpib: tms9914: struct gpib_board
Using Linux code style for struct gpib_board.
Adhering to Linux code style.
In general, a pointer, or a struct that has elements that can reasonably be di
staging: gpib: tms9914: struct gpib_board
Using Linux code style for struct gpib_board.
Adhering to Linux code style.
In general, a pointer, or a struct that has elements that can reasonably be directly accessed should never be a typedef.
Signed-off-by: Michael Rubin <[email protected]> Acked-By: Dave Penkler <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|