• Home
  • Raw
  • Download

Lines Matching refs:bcs

370 void gigaset_skb_sent(struct bc_state *bcs, struct sk_buff *dskb)  in gigaset_skb_sent()  argument
372 struct cardstate *cs = bcs->cs; in gigaset_skb_sent()
374 struct gigaset_capi_appl *ap = bcs->ap; in gigaset_skb_sent()
379 ++bcs->trans_up; in gigaset_skb_sent()
387 if (bcs->apconnstate < APCONN_ACTIVE) { in gigaset_skb_sent()
399 bcs->channel + 1, CAPIMSG_HANDLE_REQ(req), in gigaset_skb_sent()
415 void gigaset_skb_rcvd(struct bc_state *bcs, struct sk_buff *skb) in gigaset_skb_rcvd() argument
417 struct cardstate *cs = bcs->cs; in gigaset_skb_rcvd()
419 struct gigaset_capi_appl *ap = bcs->ap; in gigaset_skb_rcvd()
423 bcs->trans_down++; in gigaset_skb_rcvd()
432 if (bcs->apconnstate < APCONN_ACTIVE) { in gigaset_skb_rcvd()
450 CAPIMSG_SETPLCI_PART(skb->data, bcs->channel + 1); in gigaset_skb_rcvd()
471 void gigaset_isdn_rcv_err(struct bc_state *bcs) in gigaset_isdn_rcv_err() argument
474 if (bcs->ignore) { in gigaset_isdn_rcv_err()
475 bcs->ignore--; in gigaset_isdn_rcv_err()
480 bcs->corrupted++; in gigaset_isdn_rcv_err()
498 struct bc_state *bcs = at_state->bcs; in gigaset_isdn_icall() local
513 if (!bcs) in gigaset_isdn_icall()
518 iif->ctr.cnr | ((bcs->channel + 1) << 8)); in gigaset_isdn_icall()
629 spin_lock_irqsave(&bcs->aplock, flags); in gigaset_isdn_icall()
630 if (bcs->ap != NULL || bcs->apconnstate != APCONN_NONE) { in gigaset_isdn_icall()
632 __func__, bcs->ap, bcs->apconnstate); in gigaset_isdn_icall()
633 bcs->ap = NULL; in gigaset_isdn_icall()
634 bcs->apconnstate = APCONN_NONE; in gigaset_isdn_icall()
636 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_icall()
660 spin_lock_irqsave(&bcs->aplock, flags); in gigaset_isdn_icall()
661 ap->bcnext = bcs->ap; in gigaset_isdn_icall()
662 bcs->ap = ap; in gigaset_isdn_icall()
663 bcs->chstate |= CHS_NOTIFY_LL; in gigaset_isdn_icall()
664 bcs->apconnstate = APCONN_SETUP; in gigaset_isdn_icall()
665 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_icall()
676 return bcs->ap ? ICALL_ACCEPT : ICALL_IGNORE; in gigaset_isdn_icall()
683 static void send_disconnect_ind(struct bc_state *bcs, in send_disconnect_ind() argument
686 struct cardstate *cs = bcs->cs; in send_disconnect_ind()
690 if (bcs->apconnstate == APCONN_NONE) in send_disconnect_ind()
695 iif->ctr.cnr | ((bcs->channel + 1) << 8)); in send_disconnect_ind()
717 static void send_disconnect_b3_ind(struct bc_state *bcs, in send_disconnect_b3_ind() argument
720 struct cardstate *cs = bcs->cs; in send_disconnect_b3_ind()
725 if (bcs->apconnstate < APCONN_ACTIVE) in send_disconnect_b3_ind()
727 bcs->apconnstate = APCONN_SETUP; in send_disconnect_b3_ind()
731 iif->ctr.cnr | ((bcs->channel + 1) << 8) | (1 << 16)); in send_disconnect_b3_ind()
754 void gigaset_isdn_connD(struct bc_state *bcs) in gigaset_isdn_connD() argument
756 struct cardstate *cs = bcs->cs; in gigaset_isdn_connD()
763 spin_lock_irqsave(&bcs->aplock, flags); in gigaset_isdn_connD()
764 ap = bcs->ap; in gigaset_isdn_connD()
766 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_connD()
770 if (bcs->apconnstate == APCONN_NONE) { in gigaset_isdn_connD()
771 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_connD()
776 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_connD()
781 send_disconnect_ind(bcs, ap->bcnext, in gigaset_isdn_connD()
791 iif->ctr.cnr | ((bcs->channel + 1) << 8)); in gigaset_isdn_connD()
823 void gigaset_isdn_hupD(struct bc_state *bcs) in gigaset_isdn_hupD() argument
833 spin_lock_irqsave(&bcs->aplock, flags); in gigaset_isdn_hupD()
834 while (bcs->ap != NULL) { in gigaset_isdn_hupD()
835 ap = bcs->ap; in gigaset_isdn_hupD()
836 bcs->ap = ap->bcnext; in gigaset_isdn_hupD()
837 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_hupD()
838 send_disconnect_b3_ind(bcs, ap); in gigaset_isdn_hupD()
839 send_disconnect_ind(bcs, ap, 0); in gigaset_isdn_hupD()
840 spin_lock_irqsave(&bcs->aplock, flags); in gigaset_isdn_hupD()
842 bcs->apconnstate = APCONN_NONE; in gigaset_isdn_hupD()
843 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_hupD()
853 void gigaset_isdn_connB(struct bc_state *bcs) in gigaset_isdn_connB() argument
855 struct cardstate *cs = bcs->cs; in gigaset_isdn_connB()
863 spin_lock_irqsave(&bcs->aplock, flags); in gigaset_isdn_connB()
864 ap = bcs->ap; in gigaset_isdn_connB()
866 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_connB()
870 if (!bcs->apconnstate) { in gigaset_isdn_connB()
871 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_connB()
883 if (bcs->apconnstate >= APCONN_ACTIVE) { in gigaset_isdn_connB()
890 bcs->apconnstate = APCONN_ACTIVE; in gigaset_isdn_connB()
892 spin_unlock_irqrestore(&bcs->aplock, flags); in gigaset_isdn_connB()
898 send_disconnect_ind(bcs, ap->bcnext, in gigaset_isdn_connB()
905 iif->ctr.cnr | ((bcs->channel + 1) << 8) | (1 << 16)); in gigaset_isdn_connB()
927 void gigaset_isdn_hupB(struct bc_state *bcs) in gigaset_isdn_hupB() argument
929 struct gigaset_capi_appl *ap = bcs->ap; in gigaset_isdn_hupB()
938 send_disconnect_b3_ind(bcs, ap); in gigaset_isdn_hupB()
1032 static inline void remove_appl_from_channel(struct bc_state *bcs, in remove_appl_from_channel() argument
1035 struct cardstate *cs = bcs->cs; in remove_appl_from_channel()
1040 spin_lock_irqsave(&bcs->aplock, flags); in remove_appl_from_channel()
1041 bcap = bcs->ap; in remove_appl_from_channel()
1043 spin_unlock_irqrestore(&bcs->aplock, flags); in remove_appl_from_channel()
1049 bcs->ap = ap->bcnext; in remove_appl_from_channel()
1050 if (bcs->ap != NULL) { in remove_appl_from_channel()
1051 spin_unlock_irqrestore(&bcs->aplock, flags); in remove_appl_from_channel()
1056 prevconnstate = bcs->apconnstate; in remove_appl_from_channel()
1057 bcs->apconnstate = APCONN_NONE; in remove_appl_from_channel()
1058 spin_unlock_irqrestore(&bcs->aplock, flags); in remove_appl_from_channel()
1062 __func__, bcs->channel); in remove_appl_from_channel()
1063 gigaset_add_event(cs, &bcs->at_state, in remove_appl_from_channel()
1074 spin_unlock_irqrestore(&bcs->aplock, flags); in remove_appl_from_channel()
1079 spin_unlock_irqrestore(&bcs->aplock, flags); in remove_appl_from_channel()
1099 remove_appl_from_channel(&cs->bcs[ch], ap); in gigaset_release_appl()
1334 struct bc_state *bcs; in do_connect_req() local
1351 bcs = gigaset_get_free_channel(cs); in do_connect_req()
1352 if (!bcs) { in do_connect_req()
1358 spin_lock_irqsave(&bcs->aplock, flags); in do_connect_req()
1359 if (bcs->ap != NULL || bcs->apconnstate != APCONN_NONE) in do_connect_req()
1361 __func__, bcs->ap, bcs->apconnstate); in do_connect_req()
1363 bcs->ap = ap; in do_connect_req()
1364 bcs->apconnstate = APCONN_SETUP; in do_connect_req()
1365 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_req()
1367 bcs->rx_bufsize = ap->rp.datablklen; in do_connect_req()
1368 dev_kfree_skb(bcs->rx_skb); in do_connect_req()
1369 gigaset_new_rx_skb(bcs); in do_connect_req()
1370 cmsg->adr.adrPLCI |= (bcs->channel + 1) << 8; in do_connect_req()
1534 bcs->proto2 = L2_HDLC; in do_connect_req()
1540 bcs->proto2 = L2_HDLC; in do_connect_req()
1543 bcs->proto2 = L2_VOICE; in do_connect_req()
1549 bcs->proto2 = L2_VOICE; in do_connect_req()
1569 snprintf(commands[AT_PROTO], 9, "^SBPR=%u\r", bcs->proto2); in do_connect_req()
1594 (unsigned) bcs->channel + 1); in do_connect_req()
1597 if (!gigaset_add_event(cs, &bcs->at_state, EV_DIAL, commands, in do_connect_req()
1598 bcs->at_state.seq_index, NULL)) { in do_connect_req()
1614 gigaset_free_channel(bcs); in do_connect_req()
1628 struct bc_state *bcs; in do_connect_resp() local
1649 bcs = cs->bcs + channel - 1; in do_connect_resp()
1654 spin_lock_irqsave(&bcs->aplock, flags); in do_connect_resp()
1655 while (bcs->ap != NULL) { in do_connect_resp()
1656 oap = bcs->ap; in do_connect_resp()
1657 bcs->ap = oap->bcnext; in do_connect_resp()
1659 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1660 send_disconnect_ind(bcs, oap, in do_connect_resp()
1662 spin_lock_irqsave(&bcs->aplock, flags); in do_connect_resp()
1666 bcs->ap = ap; in do_connect_resp()
1667 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1669 bcs->rx_bufsize = ap->rp.datablklen; in do_connect_resp()
1670 dev_kfree_skb(bcs->rx_skb); in do_connect_resp()
1671 gigaset_new_rx_skb(bcs); in do_connect_resp()
1672 bcs->chstate |= CHS_NOTIFY_LL; in do_connect_resp()
1676 bcs->proto2 = L2_HDLC; in do_connect_resp()
1682 bcs->proto2 = L2_HDLC; in do_connect_resp()
1685 bcs->proto2 = L2_VOICE; in do_connect_resp()
1691 bcs->proto2 = L2_VOICE; in do_connect_resp()
1728 if (!gigaset_add_event(cs, &cs->bcs[channel - 1].at_state, in do_connect_resp()
1736 send_disconnect_ind(bcs, ap, 0); in do_connect_resp()
1739 spin_lock_irqsave(&bcs->aplock, flags); in do_connect_resp()
1740 if (bcs->ap == ap) { in do_connect_resp()
1741 bcs->ap = ap->bcnext; in do_connect_resp()
1742 if (bcs->ap == NULL) { in do_connect_resp()
1744 bcs->apconnstate = APCONN_NONE; in do_connect_resp()
1745 bcs->chstate &= ~CHS_NOTIFY_LL; in do_connect_resp()
1747 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1750 for (oap = bcs->ap; oap != NULL; oap = oap->bcnext) { in do_connect_resp()
1753 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1757 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1764 spin_lock_irqsave(&bcs->aplock, flags); in do_connect_resp()
1765 while (bcs->ap != NULL) { in do_connect_resp()
1766 oap = bcs->ap; in do_connect_resp()
1767 bcs->ap = oap->bcnext; in do_connect_resp()
1769 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1770 send_disconnect_ind(bcs, oap, in do_connect_resp()
1772 spin_lock_irqsave(&bcs->aplock, flags); in do_connect_resp()
1776 bcs->ap = ap; in do_connect_resp()
1777 spin_unlock_irqrestore(&bcs->aplock, flags); in do_connect_resp()
1782 if (!gigaset_add_event(cs, &cs->bcs[channel - 1].at_state, in do_connect_resp()
1800 struct bc_state *bcs; in do_connect_b3_req() local
1819 bcs = &cs->bcs[channel - 1]; in do_connect_b3_req()
1822 bcs->apconnstate = APCONN_ACTIVE; in do_connect_b3_req()
1847 struct bc_state *bcs; in do_connect_b3_resp() local
1869 bcs = &cs->bcs[channel - 1]; in do_connect_b3_resp()
1873 bcs->apconnstate = APCONN_SETUP; in do_connect_b3_resp()
1876 if (!gigaset_add_event(cs, &bcs->at_state, in do_connect_b3_resp()
1917 struct bc_state *bcs; in do_disconnect_req() local
1938 bcs = cs->bcs + channel - 1; in do_disconnect_req()
1953 if (!bcs->apconnstate) in do_disconnect_req()
1957 if (bcs->apconnstate >= APCONN_ACTIVE) { in do_disconnect_req()
1959 bcs->apconnstate = APCONN_SETUP; in do_disconnect_req()
1997 if (!gigaset_add_event(cs, &bcs->at_state, EV_HUP, NULL, 0, NULL)) { in do_disconnect_req()
2017 struct bc_state *bcs; in do_disconnect_b3_req() local
2037 bcs = &cs->bcs[channel - 1]; in do_disconnect_b3_req()
2040 if (bcs->apconnstate < APCONN_ACTIVE) { in do_disconnect_b3_req()
2047 if (!gigaset_add_event(cs, &bcs->at_state, EV_HUP, NULL, 0, NULL)) { in do_disconnect_b3_req()
2069 struct bc_state *bcs; in do_data_b3_req() local
2088 bcs = &cs->bcs[channel - 1]; in do_data_b3_req()
2108 if (bcs->apconnstate < APCONN_ACTIVE) { in do_data_b3_req()
2119 if (cs->ops->send_skb(bcs, skb) < 0) { in do_data_b3_req()
2415 cs->bcs[i].corrupted); in gigaset_proc_show()
2417 cs->bcs[i].trans_down); in gigaset_proc_show()
2419 cs->bcs[i].trans_up); in gigaset_proc_show()
2421 cs->bcs[i].chstate); in gigaset_proc_show()
2422 switch (cs->bcs[i].proto2) { in gigaset_proc_show()