Lines Matching refs:pnd

51 	struct phonet_device *pnd = kmalloc(sizeof(*pnd), GFP_ATOMIC);
52 if (pnd == NULL)
54 pnd->netdev = dev;
55 bitmap_zero(pnd->addrs, 64);
58 list_add_rcu(&pnd->list, &pndevs->list);
59 return pnd;
65 struct phonet_device *pnd;
68 list_for_each_entry(pnd, &pndevs->list, list) {
69 if (pnd->netdev == dev)
70 return pnd;
78 struct phonet_device *pnd;
80 list_for_each_entry_rcu(pnd, &pndevs->list, list) {
81 if (pnd->netdev == dev)
82 return pnd;
90 struct phonet_device *pnd;
95 pnd = __phonet_get(dev);
96 if (pnd)
97 list_del_rcu(&pnd->list);
100 if (pnd) {
103 for_each_set_bit(addr, pnd->addrs, 64)
105 kfree(pnd);
112 struct phonet_device *pnd;
116 list_for_each_entry_rcu(pnd, &pndevs->list, list) {
117 dev = pnd->netdev;
121 ((pnd->netdev->flags & IFF_UP)) == IFF_UP)
133 struct phonet_device *pnd;
138 pnd = __phonet_get(dev);
139 if (pnd == NULL)
140 pnd = __phonet_device_alloc(dev);
141 if (unlikely(pnd == NULL))
143 else if (test_and_set_bit(addr >> 2, pnd->addrs))
152 struct phonet_device *pnd;
156 pnd = __phonet_get(dev);
157 if (!pnd || !test_and_clear_bit(addr >> 2, pnd->addrs)) {
159 pnd = NULL;
160 } else if (bitmap_empty(pnd->addrs, 64))
161 list_del_rcu(&pnd->list);
163 pnd = NULL;
166 if (pnd)
167 kfree_rcu(pnd, rcu);
175 struct phonet_device *pnd;
179 pnd = __phonet_get_rcu(dev);
180 if (pnd) {
181 BUG_ON(bitmap_empty(pnd->addrs, 64));
184 if (test_bit(daddr >> 2, pnd->addrs))
187 saddr = find_first_bit(pnd->addrs, 64) << 2;
209 struct phonet_device *pnd;
213 list_for_each_entry_rcu(pnd, &pndevs->list, list) {
215 if ((pnd->netdev->reg_state != NETREG_REGISTERED) ||
216 ((pnd->netdev->flags & IFF_UP)) != IFF_UP)
219 if (test_bit(addr >> 2, pnd->addrs)) {