aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/gigaset/capi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/gigaset/capi.c')
-rw-r--r--drivers/isdn/gigaset/capi.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/isdn/gigaset/capi.c b/drivers/isdn/gigaset/capi.c
index 8f78f15c8ef7..245a6083f79d 100644
--- a/drivers/isdn/gigaset/capi.c
+++ b/drivers/isdn/gigaset/capi.c
@@ -80,6 +80,7 @@ struct gigaset_capi_appl {
80 struct list_head ctrlist; 80 struct list_head ctrlist;
81 struct gigaset_capi_appl *bcnext; 81 struct gigaset_capi_appl *bcnext;
82 u16 id; 82 u16 id;
83 struct capi_register_params rp;
83 u16 nextMessageNumber; 84 u16 nextMessageNumber;
84 u32 listenInfoMask; 85 u32 listenInfoMask;
85 u32 listenCIPmask; 86 u32 listenCIPmask;
@@ -945,6 +946,7 @@ static void gigaset_register_appl(struct capi_ctr *ctr, u16 appl,
945 return; 946 return;
946 } 947 }
947 ap->id = appl; 948 ap->id = appl;
949 ap->rp = *rp;
948 950
949 list_add(&ap->ctrlist, &iif->appls); 951 list_add(&ap->ctrlist, &iif->appls);
950} 952}
@@ -1166,6 +1168,9 @@ static void do_connect_req(struct gigaset_capi_ctr *iif,
1166 } 1168 }
1167 ap->bcnext = NULL; 1169 ap->bcnext = NULL;
1168 bcs->ap = ap; 1170 bcs->ap = ap;
1171 bcs->rx_bufsize = ap->rp.datablklen;
1172 dev_kfree_skb(bcs->rx_skb);
1173 gigaset_new_rx_skb(bcs);
1169 cmsg->adr.adrPLCI |= (bcs->channel + 1) << 8; 1174 cmsg->adr.adrPLCI |= (bcs->channel + 1) << 8;
1170 1175
1171 /* build command table */ 1176 /* build command table */
@@ -1435,6 +1440,9 @@ static void do_connect_resp(struct gigaset_capi_ctr *iif,
1435 CapiCallGivenToOtherApplication); 1440 CapiCallGivenToOtherApplication);
1436 ap->bcnext = NULL; 1441 ap->bcnext = NULL;
1437 bcs->ap = ap; 1442 bcs->ap = ap;
1443 bcs->rx_bufsize = ap->rp.datablklen;
1444 dev_kfree_skb(bcs->rx_skb);
1445 gigaset_new_rx_skb(bcs);
1438 bcs->chstate |= CHS_NOTIFY_LL; 1446 bcs->chstate |= CHS_NOTIFY_LL;
1439 1447
1440 /* check/encode B channel protocol */ 1448 /* check/encode B channel protocol */