diff options
Diffstat (limited to 'drivers/isdn/gigaset/capi.c')
-rw-r--r-- | drivers/isdn/gigaset/capi.c | 8 |
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 */ |