caifd 94 net/caif/caif_dev.c struct caif_device_entry *caifd; caifd 96 net/caif/caif_dev.c caifd = kzalloc(sizeof(*caifd), GFP_KERNEL); caifd 97 net/caif/caif_dev.c if (!caifd) caifd 99 net/caif/caif_dev.c caifd->pcpu_refcnt = alloc_percpu(int); caifd 100 net/caif/caif_dev.c if (!caifd->pcpu_refcnt) { caifd 101 net/caif/caif_dev.c kfree(caifd); caifd 104 net/caif/caif_dev.c caifd->netdev = dev; caifd 106 net/caif/caif_dev.c return caifd; caifd 113 net/caif/caif_dev.c struct caif_device_entry *caifd; caifd 115 net/caif/caif_dev.c list_for_each_entry_rcu(caifd, &caifdevs->list, list) { caifd 116 net/caif/caif_dev.c if (caifd->netdev == dev) caifd 117 net/caif/caif_dev.c return caifd; caifd 124 net/caif/caif_dev.c struct caif_device_entry *caifd; caifd 131 net/caif/caif_dev.c caifd = caif_get(skb->dev); caifd 133 net/caif/caif_dev.c WARN_ON(caifd == NULL); caifd 134 net/caif/caif_dev.c if (!caifd) { caifd 139 net/caif/caif_dev.c caifd_hold(caifd); caifd 142 net/caif/caif_dev.c spin_lock_bh(&caifd->flow_lock); caifd 143 net/caif/caif_dev.c send_xoff = caifd->xoff; caifd 144 net/caif/caif_dev.c caifd->xoff = 0; caifd 145 net/caif/caif_dev.c dtor = caifd->xoff_skb_dtor; caifd 147 net/caif/caif_dev.c if (WARN_ON(caifd->xoff_skb != skb)) caifd 150 net/caif/caif_dev.c caifd->xoff_skb = NULL; caifd 151 net/caif/caif_dev.c caifd->xoff_skb_dtor = NULL; caifd 153 net/caif/caif_dev.c spin_unlock_bh(&caifd->flow_lock); caifd 159 net/caif/caif_dev.c caifd->layer.up-> caifd 160 net/caif/caif_dev.c ctrlcmd(caifd->layer.up, caifd 162 net/caif/caif_dev.c caifd->layer.id); caifd 163 net/caif/caif_dev.c caifd_put(caifd); caifd 169 net/caif/caif_dev.c struct caif_device_entry *caifd = caifd 177 net/caif/caif_dev.c skb->dev = caifd->netdev; caifd 182 net/caif/caif_dev.c if (likely(caifd->netdev->priv_flags & IFF_NO_QUEUE)) caifd 185 net/caif/caif_dev.c if (unlikely(caifd->xoff)) caifd 188 net/caif/caif_dev.c if (likely(!netif_queue_stopped(caifd->netdev))) { caifd 200 net/caif/caif_dev.c high = (caifd->netdev->tx_queue_len * q_high) / 100; caifd 206 net/caif/caif_dev.c spin_lock_bh(&caifd->flow_lock); caifd 207 net/caif/caif_dev.c if (caifd->xoff) { caifd 208 net/caif/caif_dev.c spin_unlock_bh(&caifd->flow_lock); caifd 220 net/caif/caif_dev.c netif_queue_stopped(caifd->netdev), caifd 222 net/caif/caif_dev.c caifd->xoff = 1; caifd 223 net/caif/caif_dev.c caifd->xoff_skb = skb; caifd 224 net/caif/caif_dev.c caifd->xoff_skb_dtor = skb->destructor; caifd 226 net/caif/caif_dev.c spin_unlock_bh(&caifd->flow_lock); caifd 228 net/caif/caif_dev.c caifd->layer.up->ctrlcmd(caifd->layer.up, caifd 230 net/caif/caif_dev.c caifd->layer.id); caifd 249 net/caif/caif_dev.c struct caif_device_entry *caifd; caifd 255 net/caif/caif_dev.c caifd = caif_get(dev); caifd 257 net/caif/caif_dev.c if (!caifd || !caifd->layer.up || !caifd->layer.up->receive || caifd 258 net/caif/caif_dev.c !netif_oper_up(caifd->netdev)) { caifd 265 net/caif/caif_dev.c caifd_hold(caifd); caifd 268 net/caif/caif_dev.c err = caifd->layer.up->receive(caifd->layer.up, pkt); caifd 275 net/caif/caif_dev.c caifd_put(caifd); caifd 289 net/caif/caif_dev.c struct caif_device_entry *caifd; caifd 293 net/caif/caif_dev.c caifd = caif_get(dev); caifd 294 net/caif/caif_dev.c if (!caifd || !caifd->layer.up || !caifd->layer.up->ctrlcmd) { caifd 299 net/caif/caif_dev.c caifd_hold(caifd); caifd 302 net/caif/caif_dev.c caifd->layer.up->ctrlcmd(caifd->layer.up, caifd 306 net/caif/caif_dev.c caifd->layer.id); caifd 307 net/caif/caif_dev.c caifd_put(caifd); caifd 317 net/caif/caif_dev.c struct caif_device_entry *caifd; caifd 323 net/caif/caif_dev.c caifd = caif_device_alloc(dev); caifd 324 net/caif/caif_dev.c if (!caifd) caifd 326 net/caif/caif_dev.c *layer = &caifd->layer; caifd 327 net/caif/caif_dev.c spin_lock_init(&caifd->flow_lock); caifd 341 net/caif/caif_dev.c list_add_rcu(&caifd->list, &caifdevs->list); caifd 343 net/caif/caif_dev.c strlcpy(caifd->layer.name, dev->name, caifd 344 net/caif/caif_dev.c sizeof(caifd->layer.name)); caifd 345 net/caif/caif_dev.c caifd->layer.transmit = transmit; caifd 348 net/caif/caif_dev.c &caifd->layer, caifd 364 net/caif/caif_dev.c struct caif_device_entry *caifd = NULL; caifd 374 net/caif/caif_dev.c caifd = caif_get(dev); caifd 375 net/caif/caif_dev.c if (caifd == NULL && dev->type != ARPHRD_CAIF) caifd 380 net/caif/caif_dev.c if (caifd != NULL) caifd 403 net/caif/caif_dev.c caifd = caif_get(dev); caifd 404 net/caif/caif_dev.c if (caifd == NULL) { caifd 409 net/caif/caif_dev.c caifd->xoff = 0; caifd 410 net/caif/caif_dev.c cfcnfg_set_phy_state(cfg, &caifd->layer, true); caifd 418 net/caif/caif_dev.c caifd = caif_get(dev); caifd 419 net/caif/caif_dev.c if (!caifd || !caifd->layer.up || !caifd->layer.up->ctrlcmd) { caifd 424 net/caif/caif_dev.c cfcnfg_set_phy_state(cfg, &caifd->layer, false); caifd 425 net/caif/caif_dev.c caifd_hold(caifd); caifd 428 net/caif/caif_dev.c caifd->layer.up->ctrlcmd(caifd->layer.up, caifd 430 net/caif/caif_dev.c caifd->layer.id); caifd 432 net/caif/caif_dev.c spin_lock_bh(&caifd->flow_lock); caifd 441 net/caif/caif_dev.c if (caifd->xoff_skb_dtor != NULL && caifd->xoff_skb != NULL) caifd 442 net/caif/caif_dev.c caifd->xoff_skb->destructor = caifd->xoff_skb_dtor; caifd 444 net/caif/caif_dev.c caifd->xoff = 0; caifd 445 net/caif/caif_dev.c caifd->xoff_skb_dtor = NULL; caifd 446 net/caif/caif_dev.c caifd->xoff_skb = NULL; caifd 448 net/caif/caif_dev.c spin_unlock_bh(&caifd->flow_lock); caifd 449 net/caif/caif_dev.c caifd_put(caifd); caifd 455 net/caif/caif_dev.c caifd = caif_get(dev); caifd 456 net/caif/caif_dev.c if (caifd == NULL) { caifd 460 net/caif/caif_dev.c list_del_rcu(&caifd->list); caifd 474 net/caif/caif_dev.c if (caifd_refcnt_read(caifd) != 0 || caifd 475 net/caif/caif_dev.c cfcnfg_del_phy_layer(cfg, &caifd->layer) != 0) { caifd 479 net/caif/caif_dev.c list_add_rcu(&caifd->list, &caifdevs->list); caifd 485 net/caif/caif_dev.c dev_put(caifd->netdev); caifd 486 net/caif/caif_dev.c free_percpu(caifd->pcpu_refcnt); caifd 487 net/caif/caif_dev.c kfree(caifd); caifd 516 net/caif/caif_dev.c struct caif_device_entry *caifd, *tmp; caifd 524 net/caif/caif_dev.c list_for_each_entry_safe(caifd, tmp, &caifdevs->list, list) { caifd 526 net/caif/caif_dev.c list_del_rcu(&caifd->list); caifd 527 net/caif/caif_dev.c cfcnfg_set_phy_state(cfg, &caifd->layer, false); caifd 530 net/caif/caif_dev.c (caifd_refcnt_read(caifd) != 0 || caifd 531 net/caif/caif_dev.c cfcnfg_del_phy_layer(cfg, &caifd->layer) != 0)) { caifd 538 net/caif/caif_dev.c dev_put(caifd->netdev); caifd 539 net/caif/caif_dev.c free_percpu(caifd->pcpu_refcnt); caifd 540 net/caif/caif_dev.c kfree(caifd);