Lines Matching refs:d
393 struct dev_rcv_lists *d) in find_rcv_list() argument
401 return &d->rx[RX_ERR]; in find_rcv_list()
417 return &d->rx[RX_INV]; in find_rcv_list()
421 return &d->rx[RX_ALL]; in find_rcv_list()
429 return &d->rx_eff[effhash(*can_id)]; in find_rcv_list()
432 return &d->rx_sff[*can_id]; in find_rcv_list()
437 return &d->rx[RX_FIL]; in find_rcv_list()
475 struct dev_rcv_lists *d; in can_rx_register() local
489 d = find_dev_rcv_lists(dev); in can_rx_register()
490 if (d) { in can_rx_register()
491 rl = find_rcv_list(&can_id, &mask, d); in can_rx_register()
501 d->entries++; in can_rx_register()
543 struct dev_rcv_lists *d; in can_rx_unregister() local
550 d = find_dev_rcv_lists(dev); in can_rx_unregister()
551 if (!d) { in can_rx_unregister()
558 rl = find_rcv_list(&can_id, &mask, d); in can_rx_unregister()
584 d->entries--; in can_rx_unregister()
590 if (d->remove_on_zero_entries && !d->entries) { in can_rx_unregister()
591 kfree(d); in can_rx_unregister()
610 static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb) in can_rcv_filter() argument
617 if (d->entries == 0) in can_rcv_filter()
622 hlist_for_each_entry_rcu(r, &d->rx[RX_ERR], list) { in can_rcv_filter()
632 hlist_for_each_entry_rcu(r, &d->rx[RX_ALL], list) { in can_rcv_filter()
638 hlist_for_each_entry_rcu(r, &d->rx[RX_FIL], list) { in can_rcv_filter()
646 hlist_for_each_entry_rcu(r, &d->rx[RX_INV], list) { in can_rcv_filter()
658 hlist_for_each_entry_rcu(r, &d->rx_eff[effhash(can_id)], list) { in can_rcv_filter()
666 hlist_for_each_entry_rcu(r, &d->rx_sff[can_id], list) { in can_rcv_filter()
677 struct dev_rcv_lists *d; in can_receive() local
694 d = find_dev_rcv_lists(dev); in can_receive()
695 if (d) in can_receive()
696 matches += can_rcv_filter(d, skb); in can_receive()
828 struct dev_rcv_lists *d; in can_notifier() local
841 d = kzalloc(sizeof(*d), GFP_KERNEL); in can_notifier()
842 if (!d) in can_notifier()
845 dev->ml_priv = d; in can_notifier()
852 d = dev->ml_priv; in can_notifier()
853 if (d) { in can_notifier()
854 if (d->entries) in can_notifier()
855 d->remove_on_zero_entries = 1; in can_notifier()
857 kfree(d); in can_notifier()
952 struct dev_rcv_lists *d = dev->ml_priv; in can_exit() local
954 BUG_ON(d->entries); in can_exit()
955 kfree(d); in can_exit()