]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] isdn4linux: Siemens Gigaset base driver: fix disconnect handling
authorTilman Schmidt <tilman@imap.cc>
Sat, 22 Apr 2006 09:35:30 +0000 (02:35 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 22 Apr 2006 16:19:52 +0000 (09:19 -0700)
commit5c528c7b7e38d3985ffe5bef5591129eba45ee36
tree92bf889724f3fbadbe2a2a4ce5ac1f92bf3a8e30
parent886b6166af4acf6ca9d25c4ca6a39c30a26f63a1
[PATCH] isdn4linux: Siemens Gigaset base driver: fix disconnect handling

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: Tilman Schmidt <tilman@imap.cc>
Acked-by: Hansjoerg Lipp <hjlipp@web.de>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/isdn/gigaset/bas-gigaset.c
drivers/isdn/gigaset/common.c
drivers/isdn/gigaset/ev-layer.c
drivers/isdn/gigaset/gigaset.h
drivers/isdn/gigaset/i4l.c
drivers/isdn/gigaset/isocdata.c