Lines Matching defs:vcc
38 * - unlink all active send urbs of a vcc that is being closed.
43 * - fixed memory leak and vcc->tx_inuse starvation bug
44 * when not enough memory left in vcc.
135 struct atm_vcc *vcc;
156 static int usbatm_atm_open(struct atm_vcc *vcc);
157 static void usbatm_atm_close(struct atm_vcc *vcc);
159 static int usbatm_atm_send(struct atm_vcc *vcc, struct sk_buff *skb);
183 static inline void usbatm_pop(struct atm_vcc *vcc, struct sk_buff *skb)
185 if (vcc->pop)
186 vcc->pop(vcc, skb);
293 struct atm_vcc *vcc;
312 vcc = instance->cached_vcc->vcc;
319 atomic_inc(&vcc->stats->rx_err);
326 atm_rldbg(instance, "%s: buffer overrun (sarb->len %u, vcc: 0x%p)!\n",
327 __func__, sarb->len, vcc);
344 atm_rldbg(instance, "%s: bogus length %u (vcc: 0x%p)!\n",
345 __func__, length, vcc);
346 atomic_inc(&vcc->stats->rx_err);
353 atm_rldbg(instance, "%s: bogus pdu_length %u (sarb->len: %u, vcc: 0x%p)!\n",
354 __func__, pdu_length, sarb->len, vcc);
355 atomic_inc(&vcc->stats->rx_err);
360 atm_rldbg(instance, "%s: packet failed crc check (vcc: 0x%p)!\n",
361 __func__, vcc);
362 atomic_inc(&vcc->stats->rx_err);
367 "%s: got packet (length: %u, pdu_length: %u, vcc: 0x%p)",
368 __func__, length, pdu_length, vcc);
375 atomic_inc(&vcc->stats->rx_drop);
383 if (!atm_charge(vcc, skb->truesize)) {
401 vcc->push(vcc, skb);
403 atomic_inc(&vcc->stats->rx);
459 struct atm_vcc *vcc = ctrl->atm.vcc;
469 ptr[0] = vcc->vpi >> 4;
470 ptr[1] = (vcc->vpi << 4) | (vcc->vci >> 12);
471 ptr[2] = vcc->vci >> 4;
472 ptr[3] = vcc->vci << 4;
600 struct atm_vcc *vcc = UDSL_SKB(skb)->atm.vcc;
602 usbatm_pop(vcc, skb);
603 atomic_inc(&vcc->stats->tx);
621 struct atm_vcc *vcc)
627 if (UDSL_SKB(skb)->atm.vcc == vcc) {
630 usbatm_pop(vcc, skb);
636 if ((skb = instance->current_skb) && (UDSL_SKB(skb)->atm.vcc == vcc)) {
639 usbatm_pop(vcc, skb);
644 static int usbatm_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)
646 struct usbatm_data *instance = vcc->dev->dev_data;
659 if (vcc->qos.aal != ATM_AAL5) {
660 atm_rldbg(instance, "%s: unsupported ATM type %d!\n", __func__, vcc->qos.aal);
675 ctrl->atm.vcc = vcc;
685 usbatm_pop(vcc, skb);
770 static int usbatm_atm_open(struct atm_vcc *vcc)
772 struct usbatm_data *instance = vcc->dev->dev_data;
775 int vci = vcc->vci;
776 short vpi = vcc->vpi;
782 if ((vcc->qos.aal != ATM_AAL5)) {
783 atm_warn(instance, "%s: unsupported ATM type %d!\n", __func__, vcc->qos.aal);
788 if ((vcc->qos.rxtp.max_sdu < 0) || (vcc->qos.rxtp.max_sdu > ATM_MAX_AAL5_PDU)) {
789 atm_dbg(instance, "%s: max_sdu %d out of range!\n", __func__, vcc->qos.rxtp.max_sdu);
813 new->vcc = vcc;
817 new->sarb = alloc_skb(usbatm_pdu_length(vcc->qos.rxtp.max_sdu), GFP_KERNEL);
824 vcc->dev_data = new;
833 set_bit(ATM_VF_ADDR, &vcc->flags);
834 set_bit(ATM_VF_PARTIAL, &vcc->flags);
835 set_bit(ATM_VF_READY, &vcc->flags);
839 atm_dbg(instance, "%s: allocated vcc data 0x%p\n", __func__, new);
849 static void usbatm_atm_close(struct atm_vcc *vcc)
851 struct usbatm_data *instance = vcc->dev->dev_data;
852 struct usbatm_vcc_data *vcc_data = vcc->dev_data;
857 usbatm_cancel_send(instance, vcc);
874 vcc->dev_data = NULL;
876 vcc->vpi = ATM_VPI_UNSPEC;
877 vcc->vci = ATM_VCI_UNSPEC;
878 clear_bit(ATM_VF_READY, &vcc->flags);
879 clear_bit(ATM_VF_PARTIAL, &vcc->flags);
880 clear_bit(ATM_VF_ADDR, &vcc->flags);
1230 vcc_release_async(vcc_data->vcc, -EPIPE);