• Hermann Kneissel's avatar
    USB: serial: garmin_gps: fixes package loss if used from gpsbabel · 468d1362
    Hermann Kneissel authored
    This patch contains two fixes submitted by Ondrej Palkovsky:
    - the 'ACK' packet is sent after the transfer of the USB packet is
    completed, i.e. in the write_callback function. Because the close
    function sends the 'abort' command, a parameter is added that allows
    the caller of garmin_write_bulk to specify, if the 'ack' should be
    propagated to the serial link or dimissed.
    This fixes the problem with gpsbabel, it has sent several packets that
    were acknowledged before they were sent to the GPS and GpsBabel closed
    the device - thus effectively cancelled all outstanding requests in the
    queue.
    - removed the APP_RESP_SEEN and APP_REQ_SEEN flags and changed
    them into counters. It evades USB reset of the gps on every device close.
    Signed-off-by: default avatarHermann Kneissel <hermann.kneissel@gmx.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    468d1362
garmin_gps.c 42.3 KB