gigaset: fix bad assumptions about CAPI skbuffs
authorTilman Schmidt <tilman@imap.cc>
Sun, 25 Oct 2009 09:29:57 +0000 (09:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Oct 2009 08:37:09 +0000 (01:37 -0700)
commit4dd8230acd20cb456cae02696b3da2986faad258
treeded49543277fdd72784ac7d2dd14311d39b4e4c9
parent22077ebceb44f4097d4677e2a26bc1175143d647
gigaset: fix bad assumptions about CAPI skbuffs

The CAPI interface incorrectly assumed that CAPI messages would always
start at the beginning of the data buffer: fix by treating DATA_B3
messages as the link layer header to their payload data. This fix
changes the way acknowledgement information is propagated through the
hardware specific modules and thereby impacts the ISDN4Linux variant
of the driver, too.

Also some assumptions about methods not being called from interrupt
context turned out to be unwarranted; fix by using dev_kfree_skb_any()
wherever non-interrupt context isn't guaranteed.

Impact: bugfix
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/gigaset/asyncdata.c
drivers/isdn/gigaset/capi.c
drivers/isdn/gigaset/gigaset.h
drivers/isdn/gigaset/i4l.c
drivers/isdn/gigaset/isocdata.c