diff options
-rw-r--r-- | drivers/ieee1394/eth1394.c | 8 |
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, | |||
867 | static int fragment_overlap(struct list_head *frag_list, int offset, int len) | 867 | static 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 | ||