• Tilman Schmidt's avatar
    [PATCH] isdn4linux: Siemens Gigaset base driver: fix disconnect handling · 73a88814
    Tilman Schmidt authored
    Fix a possible Oops in the Siemens Gigaset base driver when the device is
    unplugged while an ISDN connection is still active, and makes sure that the
    isdn4linux link level (LL) is properly informed if a connection is broken
    by the USB cable being unplugged.
    
    - Avoid unsafe checks of URB status fields outside the URB completion
      handlers, keep track of in-use URBs myself instead.
    
    - If an isochronous transfer URB completes with status==0, also check the
      status of the frame descriptors.
    
    - Verify length of interrupt messages received from the device.
    
    - Align the length limit on transmitted AT commands with the device
      documentation.
    
    - In case of AT response receive overrun, keep newly arrived instead of old
      unread data.
    
    - Remove redundant check of device ID in the USB probe function.
    
    - Correct and improve some comments and formatting.
    Signed-off-by: default avatarTilman Schmidt <tilman@imap.cc>
    Acked-by: default avatarHansjoerg Lipp <hjlipp@web.de>
    Cc: Karsten Keil <kkeil@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    73a88814
bas-gigaset.c 63.5 KB