aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ieee1394/eth1394.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ieee1394/eth1394.c b/drivers/ieee1394/eth1394.c
index 0047343dbc22..08f63c8d9b25 100644
--- a/drivers/ieee1394/eth1394.c
+++ b/drivers/ieee1394/eth1394.c
@@ -867,12 +867,12 @@ static u16 ether1394_parse_encap(struct sk_buff *skb, struct net_device *dev,
867static int fragment_overlap(struct list_head *frag_list, int offset, int len) 867static int fragment_overlap(struct list_head *frag_list, int offset, int len)
868{ 868{
869 struct fragment_info *fi; 869 struct fragment_info *fi;
870 int end = offset + len;
870 871
871 list_for_each_entry(fi, frag_list, list) { 872 list_for_each_entry(fi, frag_list, list)
872 if ( ! ((offset > (fi->offset + fi->len - 1)) || 873 if (offset < fi->offset + fi->len && end > fi->offset)
873 ((offset + len - 1) < fi->offset)))
874 return 1; 874 return 1;
875 } 875
876 return 0; 876 return 0;
877} 877}
878 878