summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/gigaset/common.c
diff options
context:
space:
mode:
authorTilman Schmidt <tilman@imap.cc>2010-06-21 13:55:20 +0000
committerDavid S. Miller <davem@davemloft.net>2010-06-25 21:17:01 -0700
commit1b4843c5e8cbab86830da8a53b8288882060c059 (patch)
treee85f56181da19d0cd314cc369749f756b58e0063 /drivers/isdn/gigaset/common.c
parent1ce368ff288ed872a8fee93b8a2b7706111feb9a (diff)
downloadlinux-1b4843c5e8cbab86830da8a53b8288882060c059.tar.gz
linux-1b4843c5e8cbab86830da8a53b8288882060c059.tar.bz2
linux-1b4843c5e8cbab86830da8a53b8288882060c059.zip
isdn/gigaset: correct CAPI connection state storage
CAPI applications can handle several connections in parallel, so one connection state per application isn't sufficient. Store the connection state in the channel structure instead. Impact: bugfix Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn/gigaset/common.c')
-rw-r--r--drivers/isdn/gigaset/common.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/isdn/gigaset/common.c b/drivers/isdn/gigaset/common.c
index 9778fabbc488..5d4befb81057 100644
--- a/drivers/isdn/gigaset/common.c
+++ b/drivers/isdn/gigaset/common.c
@@ -649,6 +649,10 @@ static struct bc_state *gigaset_initbcs(struct bc_state *bcs,
for (i = 0; i < AT_NUM; ++i)
bcs->commands[i] = NULL;
+ spin_lock_init(&bcs->aplock);
+ bcs->ap = NULL;
+ bcs->apconnstate = 0;
+
gig_dbg(DEBUG_INIT, " setting up bcs[%d]->hw", channel);
if (cs->ops->initbcshw(bcs))
return bcs;