aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/oki-semi
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2012-04-20 14:50:35 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-21 15:27:45 -0400
commit32127a0a0a35706c18df11cd7ad69e96214b3c68 (patch)
tree78a10204d205c8b2a682d15764c3c7bcd40b30ba /drivers/net/ethernet/oki-semi
parent358dfb6d77c016af764c0f7007697e5f5bc322c2 (diff)
pch_gbe: run the ptp bpf just once per packet
This patch fixes code which needlessly ran the BPF twice per packet. Instead, we just run the classifier once and test whether the packet is any kind of PTP event message. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/oki-semi')
-rw-r--r--drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
index 53ac2fb78ab6..e9b785e0cc94 100644
--- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
@@ -134,10 +134,8 @@ static int pch_ptp_match(struct sk_buff *skb, u16 uid_hi, u32 uid_lo, u16 seqid)
134 u16 *hi, *id; 134 u16 *hi, *id;
135 u32 lo; 135 u32 lo;
136 136
137 if ((sk_run_filter(skb, ptp_filter) != PTP_CLASS_V2_IPV4) && 137 if (sk_run_filter(skb, ptp_filter) == PTP_CLASS_NONE)
138 (sk_run_filter(skb, ptp_filter) != PTP_CLASS_V1_IPV4)) {
139 return 0; 138 return 0;
140 }
141 139
142 offset = ETH_HLEN + IPV4_HLEN(data) + UDP_HLEN; 140 offset = ETH_HLEN + IPV4_HLEN(data) + UDP_HLEN;
143 141