summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2007-04-02 02:21:46 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-04-30 00:00:31 +0200
commit2e2173df68f419aa41558e1fa90d7263b2d0211f (patch)
treec700d159ebf78ecc86d42d5b337933f8c0795d04
parent01590d20b42400be46cf4e565b39764e38ca87fe (diff)
downloadlinux-2e2173df68f419aa41558e1fa90d7263b2d0211f.tar.gz
linux-2e2173df68f419aa41558e1fa90d7263b2d0211f.tar.bz2
linux-2e2173df68f419aa41558e1fa90d7263b2d0211f.zip
ieee1394: eth1394: clean up fragment_overlap
offset > fi->offset + fi->len - 1 == !(offset < fi->offset + fi->len) offset + len - 1 < fi->offset == !(offset + len > fi->offset) !(A || B) == (!A && !B) Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-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,
static int fragment_overlap(struct list_head *frag_list, int offset, int len)
{
struct fragment_info *fi;
+ int end = offset + len;
- list_for_each_entry(fi, frag_list, list) {
- if ( ! ((offset > (fi->offset + fi->len - 1)) ||
- ((offset + len - 1) < fi->offset)))
+ list_for_each_entry(fi, frag_list, list)
+ if (offset < fi->offset + fi->len && end > fi->offset)
return 1;
- }
+
return 0;
}