Lines Matching defs:npinfo
90 struct netpoll_info *npinfo =
95 while ((skb = skb_dequeue(&npinfo->txq))) {
116 skb_queue_head(&npinfo->txq, skb);
120 schedule_delayed_work(&npinfo->tx_work, HZ/10);
178 struct netpoll_info *ni = rcu_dereference_bh(dev->npinfo);
213 ni = rtnl_dereference(dev->npinfo);
222 ni = rtnl_dereference(dev->npinfo);
319 /* It is up to the caller to keep npinfo alive. */
320 struct netpoll_info *npinfo;
326 npinfo = rcu_dereference_bh(dev->npinfo);
328 if (!npinfo || !netif_running(dev) || !netif_device_present(dev)) {
334 if (skb_queue_len(&npinfo->txq) == 0 && !netpoll_owner_active(dev)) {
366 skb_queue_tail(&npinfo->txq, skb);
367 schedule_delayed_work(&npinfo->tx_work,0);
555 struct netpoll_info *npinfo;
568 npinfo = rtnl_dereference(ndev->npinfo);
569 if (!npinfo) {
570 npinfo = kmalloc(sizeof(*npinfo), GFP_KERNEL);
571 if (!npinfo) {
576 sema_init(&npinfo->dev_lock, 1);
577 skb_queue_head_init(&npinfo->txq);
578 INIT_DELAYED_WORK(&npinfo->tx_work, queue_process);
580 refcount_set(&npinfo->refcnt, 1);
589 refcount_inc(&npinfo->refcnt);
600 rcu_assign_pointer(ndev->npinfo, npinfo);
605 kfree(npinfo);
771 /* Make sure all NAPI polls which started before dev->npinfo
773 * NAPI skips locking if dev->npinfo is NULL.
794 struct netpoll_info *npinfo =
797 skb_queue_purge(&npinfo->txq);
800 cancel_delayed_work(&npinfo->tx_work);
803 __skb_queue_purge(&npinfo->txq);
805 cancel_delayed_work(&npinfo->tx_work);
806 kfree(npinfo);
811 struct netpoll_info *npinfo;
813 npinfo = rtnl_dereference(np->dev->npinfo);
814 if (!npinfo)
817 if (refcount_dec_and_test(&npinfo->refcnt)) {
824 RCU_INIT_POINTER(np->dev->npinfo, NULL);
825 call_rcu(&npinfo->rcu, rcu_cleanup_netpoll_info);
827 RCU_INIT_POINTER(np->dev->npinfo, NULL);