]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
Since rev872 the single CAN identifier filter lists handle only non-RTR
authorhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Thu, 4 Dec 2008 18:21:43 +0000 (18:21 +0000)
committerhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Thu, 4 Dec 2008 18:21:43 +0000 (18:21 +0000)
CAN frames. So we need to omit the check of these filter lists when
receiving RTR CAN frames.

git-svn-id: svn://svn.berlios.de//socketcan/trunk@875 030b6a49-0b11-0410-94ab-b0dab22257f2

kernel/2.6/net/can/af_can.c

index 9a28e8cfd16620fcda210d2cd05b2216af3a5ec0..1b95c3c9ed03d38c4094f9ccd84c5c98c8886982 100644 (file)
@@ -693,7 +693,10 @@ static int can_rcv_filter(struct dev_rcv_lists *d, struct sk_buff *skb)
                }
        }
 
-       /* check CAN_ID specific entries */
+       /* check filterlists for single non-RTR can_ids */
+       if (can_id & CAN_RTR_FLAG)
+               return matches;
+
        if (can_id & CAN_EFF_FLAG) {
                hlist_for_each_entry_rcu(r, n, &d->rx[RX_EFF], list) {
                        if (r->can_id == can_id) {