diff options
author | Oliver Hartkopp <oliver@hartkopp.net> | 2008-12-04 18:01:08 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-04 18:01:08 -0500 |
commit | f706644d55f90e8306d87060168fef33804d6dd9 (patch) | |
tree | fb3755398c41cc64c253bcc87ad96169bff67362 /net/can | |
parent | 17b24b3c97498935a2ef9777370b1151dfed3f6f (diff) |
can: omit received RTR frames for single ID filter lists
Since commit d253eee20195b25e298bf162a6e72f14bf4803e5 the single CAN
identifier filter lists handle only non-RTR CAN frames.
So we need to omit the check of these filter lists when receiving RTR
CAN frames.
Signed-off-by: Oliver Hartkopp <oliver@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/can')
-rw-r--r-- | net/can/af_can.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c index d8173e50cb87..3dadb338addd 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c | |||
@@ -622,7 +622,10 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb) | |||
622 | } | 622 | } |
623 | } | 623 | } |
624 | 624 | ||
625 | /* check CAN_ID specific entries */ | 625 | /* check filterlists for single non-RTR can_ids */ |
626 | if (can_id & CAN_RTR_FLAG) | ||
627 | return matches; | ||
628 | |||
626 | if (can_id & CAN_EFF_FLAG) { | 629 | if (can_id & CAN_EFF_FLAG) { |
627 | hlist_for_each_entry_rcu(r, n, &d->rx[RX_EFF], list) { | 630 | hlist_for_each_entry_rcu(r, n, &d->rx[RX_EFF], list) { |
628 | if (r->can_id == can_id) { | 631 | if (r->can_id == can_id) { |