diff options
Diffstat (limited to 'net/can/af_can.c')
| -rw-r--r-- | net/can/af_can.c | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c index ddac1ee2ed2..c48e5220bba 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c @@ -516,7 +516,6 @@ void can_rx_unregister(struct net_device *dev, canid_t can_id, canid_t mask,  {  	struct receiver *r = NULL;  	struct hlist_head *rl; -	struct hlist_node *next;  	struct dev_rcv_lists *d;  	if (dev && dev->type != ARPHRD_CAN) @@ -540,7 +539,7 @@ void can_rx_unregister(struct net_device *dev, canid_t can_id, canid_t mask,  	 * been registered before.  	 */ -	hlist_for_each_entry_rcu(r, next, rl, list) { +	hlist_for_each_entry_rcu(r, rl, list) {  		if (r->can_id == can_id && r->mask == mask &&  		    r->func == func && r->data == data)  			break; @@ -552,7 +551,7 @@ void can_rx_unregister(struct net_device *dev, canid_t can_id, canid_t mask,  	 * will be NULL, while r will point to the last item of the list.  	 */ -	if (!next) { +	if (!r) {  		printk(KERN_ERR "BUG: receive list entry not found for "  		       "dev %s, id %03X, mask %03X\n",  		       DNAME(dev), can_id, mask); @@ -590,7 +589,6 @@ static inline void deliver(struct sk_buff *skb, struct receiver *r)  static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)  {  	struct receiver *r; -	struct hlist_node *n;  	int matches = 0;  	struct can_frame *cf = (struct can_frame *)skb->data;  	canid_t can_id = cf->can_id; @@ -600,7 +598,7 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)  	if (can_id & CAN_ERR_FLAG) {  		/* check for error message frame entries only */ -		hlist_for_each_entry_rcu(r, n, &d->rx[RX_ERR], list) { +		hlist_for_each_entry_rcu(r, &d->rx[RX_ERR], list) {  			if (can_id & r->mask) {  				deliver(skb, r);  				matches++; @@ -610,13 +608,13 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)  	}  	/* check for unfiltered entries */ -	hlist_for_each_entry_rcu(r, n, &d->rx[RX_ALL], list) { +	hlist_for_each_entry_rcu(r, &d->rx[RX_ALL], list) {  		deliver(skb, r);  		matches++;  	}  	/* check for can_id/mask entries */ -	hlist_for_each_entry_rcu(r, n, &d->rx[RX_FIL], list) { +	hlist_for_each_entry_rcu(r, &d->rx[RX_FIL], list) {  		if ((can_id & r->mask) == r->can_id) {  			deliver(skb, r);  			matches++; @@ -624,7 +622,7 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)  	}  	/* check for inverted can_id/mask entries */ -	hlist_for_each_entry_rcu(r, n, &d->rx[RX_INV], list) { +	hlist_for_each_entry_rcu(r, &d->rx[RX_INV], list) {  		if ((can_id & r->mask) != r->can_id) {  			deliver(skb, r);  			matches++; @@ -636,7 +634,7 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)  		return matches;  	if (can_id & CAN_EFF_FLAG) { -		hlist_for_each_entry_rcu(r, n, &d->rx[RX_EFF], list) { +		hlist_for_each_entry_rcu(r, &d->rx[RX_EFF], list) {  			if (r->can_id == can_id) {  				deliver(skb, r);  				matches++; @@ -644,7 +642,7 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)  		}  	} else {  		can_id &= CAN_SFF_MASK; -		hlist_for_each_entry_rcu(r, n, &d->rx_sff[can_id], list) { +		hlist_for_each_entry_rcu(r, &d->rx_sff[can_id], list) {  			deliver(skb, r);  			matches++;  		}  |