]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/llc/llc_sap.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[linux-2.6-omap-h63xx.git] / net / llc / llc_sap.c
index 42eb0c3a97804aa3726999107da0cf65a8cd16a5..2615dc81aa36f018e6120cbaada3b685accc4db2 100644 (file)
@@ -201,7 +201,7 @@ static void llc_sap_state_process(struct llc_sap *sap, struct sk_buff *skb)
                        if (sock_queue_rcv_skb(skb->sk, skb))
                                kfree_skb(skb);
                }
-       } 
+       }
        kfree_skb(skb);
 }
 
@@ -215,7 +215,7 @@ static void llc_sap_state_process(struct llc_sap *sap, struct sk_buff *skb)
  *     This function is called when upper layer wants to send a TEST pdu.
  *     Returns 0 for success, 1 otherwise.
  */
-void llc_build_and_send_test_pkt(struct llc_sap *sap, 
+void llc_build_and_send_test_pkt(struct llc_sap *sap,
                                 struct sk_buff *skb, u8 *dmac, u8 dsap)
 {
        struct llc_sap_state_ev *ev = llc_sap_ev(skb);
@@ -224,7 +224,7 @@ void llc_build_and_send_test_pkt(struct llc_sap *sap,
        ev->daddr.lsap = dsap;
        memcpy(ev->saddr.mac, skb->dev->dev_addr, IFHWADDRLEN);
        memcpy(ev->daddr.mac, dmac, IFHWADDRLEN);
-       
+
        ev->type      = LLC_SAP_EV_TYPE_PRIM;
        ev->prim      = LLC_TEST_PRIM;
        ev->prim_type = LLC_PRIM_TYPE_REQ;
@@ -330,6 +330,9 @@ static void llc_sap_mcast(struct llc_sap *sap,
                if (llc->laddr.lsap != laddr->lsap)
                        continue;
 
+               if (llc->dev != skb->dev)
+                       continue;
+
                skb1 = skb_clone(skb, GFP_ATOMIC);
                if (!skb1)
                        break;