diff options
-rw-r--r-- | drivers/ipoe/ipoe.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ipoe/ipoe.c b/drivers/ipoe/ipoe.c index c2a7d61f..5300d642 100644 --- a/drivers/ipoe/ipoe.c +++ b/drivers/ipoe/ipoe.c @@ -724,8 +724,6 @@ static rx_handler_result_t ipoe_recv(struct sk_buff **pskb) iph = ip_hdr(skb); saddr = iph->saddr; - if (!saddr || saddr == 0xffffffff) - return RX_HANDLER_PASS; } else if (likely(skb->protocol == htons(ETH_P_ARP))) { noff = skb_network_offset(skb); @@ -750,6 +748,9 @@ static rx_handler_result_t ipoe_recv(struct sk_buff **pskb) } else return RX_HANDLER_PASS; + if (!saddr || saddr == 0xffffffff) + return RX_HANDLER_PASS; + //pr_info("ipoe: recv %08x %08x\n", iph->saddr, iph->daddr); ses = ipoe_lookup_rt(skb, saddr, &out); |