• Michael Zaidman's avatar
    HID: ft260: ft260_xfer_status routine cleanup · f45d50ed
    Michael Zaidman authored
    After clarifying with FTDI's support, it turned out that the error
    condition (bit 1) in byte 1 of the i2c status HID report is a status
    bit reflecting all error conditions. When bits 2, 3, or 4 are raised
    to 1, bit 1 is set to 1 also. Since the ft260_xfer_status routine tests
    the error condition bit and exits in the case of an error, the program
    flow never reaches the conditional expressions for 2, 3, and 4 bits when
    any of them indicates an error state. Though these expressions are never
    evaluated to true, they are checked several times per IO, increasing the
    ft260_xfer_status polling cycle duration.
    
    The patch removes the conditional expressions for 2, 3, and 4 bits in
    byte 1 of the i2c status HID report.
    Signed-off-by: default avatarMichael Zaidman <michael.zaidman@gmail.com>
    Tested-by: default avatarGuillaume Champagne <champagne.guillaume.c@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    f45d50ed
hid-ft260.c 25.9 KB