Searched refs:pvcc (Results 1 - 1 of 1) sorted by relevance
/linux-4.4.14/net/atm/ |
H A D | pppoatm.c | 114 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); pppoatm_release_cb() local 125 if (test_and_clear_bit(BLOCKED, &pvcc->blocked)) pppoatm_release_cb() 126 tasklet_schedule(&pvcc->wakeup_tasklet); pppoatm_release_cb() 127 if (pvcc->old_release_cb) pppoatm_release_cb() 128 pvcc->old_release_cb(atmvcc); pppoatm_release_cb() 137 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); pppoatm_pop() local 139 pvcc->old_pop(atmvcc, skb); pppoatm_pop() 140 atomic_dec(&pvcc->inflight); pppoatm_pop() 160 if (test_and_clear_bit(BLOCKED, &pvcc->blocked)) pppoatm_pop() 161 tasklet_schedule(&pvcc->wakeup_tasklet); pppoatm_pop() 170 struct pppoatm_vcc *pvcc; pppoatm_unassign_vcc() local 171 pvcc = atmvcc_to_pvcc(atmvcc); pppoatm_unassign_vcc() 172 atmvcc->push = pvcc->old_push; pppoatm_unassign_vcc() 173 atmvcc->pop = pvcc->old_pop; pppoatm_unassign_vcc() 174 atmvcc->release_cb = pvcc->old_release_cb; pppoatm_unassign_vcc() 175 tasklet_kill(&pvcc->wakeup_tasklet); pppoatm_unassign_vcc() 176 ppp_unregister_channel(&pvcc->chan); pppoatm_unassign_vcc() 178 kfree(pvcc); pppoatm_unassign_vcc() 184 struct pppoatm_vcc *pvcc = atmvcc_to_pvcc(atmvcc); pppoatm_push() local 189 pr_debug("removing ATMPPP VCC %p\n", pvcc); pppoatm_push() 190 module = pvcc->old_owner; pppoatm_push() 197 switch (pvcc->encaps) { pppoatm_push() 205 if (pvcc->chan.ppp == NULL) { /* Not bound yet! */ pppoatm_push() 211 pvcc->encaps = e_llc; pppoatm_push() 218 pvcc->encaps = e_vc; pppoatm_push() 219 pvcc->chan.mtu += LLC_LEN; pppoatm_push() 229 ppp_input(&pvcc->chan, skb); pppoatm_push() 234 ppp_input_error(&pvcc->chan, 0); pppoatm_push() 237 static int pppoatm_may_send(struct pppoatm_vcc *pvcc, int size) pppoatm_may_send() argument 246 if (atm_may_send(pvcc->atmvcc, size) && pppoatm_may_send() 247 atomic_inc_not_zero_hint(&pvcc->inflight, NONE_INFLIGHT)) pppoatm_may_send() 253 * *must* be set before we do the atomic_inc() on pvcc->inflight. pppoatm_may_send() 257 test_and_set_bit(BLOCKED, &pvcc->blocked); pppoatm_may_send() 276 if (atm_may_send(pvcc->atmvcc, size) && pppoatm_may_send() 277 atomic_inc_not_zero(&pvcc->inflight)) pppoatm_may_send() 294 struct pppoatm_vcc *pvcc = chan_to_pvcc(chan); pppoatm_send() local 298 ATM_SKB(skb)->vcc = pvcc->atmvcc; pppoatm_send() 299 pr_debug("(skb=0x%p, vcc=0x%p)\n", skb, pvcc->atmvcc); pppoatm_send() 300 if (skb->data[0] == '\0' && (pvcc->flags & SC_COMP_PROT)) pppoatm_send() 311 test_and_set_bit(BLOCKED, &pvcc->blocked); pppoatm_send() 322 switch (pvcc->encaps) { /* LLC encapsulation needed */ pppoatm_send() 328 !pppoatm_may_send(pvcc, n->truesize)) { pppoatm_send() 338 } else if (!pppoatm_may_send(pvcc, skb->truesize)) pppoatm_send() 343 if (!pppoatm_may_send(pvcc, skb->truesize)) pppoatm_send() 367 if ((pvcc->flags & SC_COMP_PROT) && skb_headroom(skb) > 0 && pppoatm_send() 396 struct pppoatm_vcc *pvcc; pppoatm_assign_vcc() local 408 pvcc = kzalloc(sizeof(*pvcc), GFP_KERNEL); pppoatm_assign_vcc() 409 if (pvcc == NULL) pppoatm_assign_vcc() 411 pvcc->atmvcc = atmvcc; pppoatm_assign_vcc() 414 atomic_set(&pvcc->inflight, NONE_INFLIGHT); pppoatm_assign_vcc() 415 pvcc->old_push = atmvcc->push; pppoatm_assign_vcc() 416 pvcc->old_pop = atmvcc->pop; pppoatm_assign_vcc() 417 pvcc->old_owner = atmvcc->owner; pppoatm_assign_vcc() 418 pvcc->old_release_cb = atmvcc->release_cb; pppoatm_assign_vcc() 419 pvcc->encaps = (enum pppoatm_encaps) be.encaps; pppoatm_assign_vcc() 420 pvcc->chan.private = pvcc; pppoatm_assign_vcc() 421 pvcc->chan.ops = &pppoatm_ops; pppoatm_assign_vcc() 422 pvcc->chan.mtu = atmvcc->qos.txtp.max_sdu - PPP_HDRLEN - pppoatm_assign_vcc() 424 pvcc->wakeup_tasklet = tasklet_proto; pppoatm_assign_vcc() 425 pvcc->wakeup_tasklet.data = (unsigned long) &pvcc->chan; pppoatm_assign_vcc() 426 err = ppp_register_channel(&pvcc->chan); pppoatm_assign_vcc() 428 kfree(pvcc); pppoatm_assign_vcc() 431 atmvcc->user_back = pvcc; pppoatm_assign_vcc()
|
Completed in 49 milliseconds