From: Julia Lawall <julia@xxxxxxx> The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include <linux/jiffies.h> @ no_include depends on !include && change_compare_np @ @@ #include <linux/...> + #include <linux/jiffies.h> // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> --- diff -r -u -p a/net/irda/discovery.c b/net/irda/discovery.c --- a/net/irda/discovery.c 2007-10-22 11:25:46.000000000 +0200 +++ b/net/irda/discovery.c 2007-12-23 20:46:19.000000000 +0100 @@ -34,6 +34,7 @@ #include <linux/socket.h> #include <linux/fs.h> #include <linux/seq_file.h> +#include <linux/jiffies.h> #include <net/irda/irda.h> #include <net/irda/irlmp.h> @@ -170,7 +171,8 @@ void irlmp_expire_discoveries(hashbin_t /* Test if it's time to expire this discovery */ if ((curr->data.saddr == saddr) && (force || - ((jiffies - curr->timestamp) > DISCOVERY_EXPIRE_TIMEOUT))) + (time_after(jiffies, + curr->timestamp + DISCOVERY_EXPIRE_TIMEOUT)))) { /* Create buffer as needed. * As this function get called a lot and most time @@ -283,7 +285,8 @@ struct irda_device_info *irlmp_copy_disc * the most recent one (unless we want old ones) */ if ((u16ho(discovery->data.hints) & mask) && ((old_entries) || - ((jiffies - discovery->firststamp) < j_timeout)) ) { + (time_before(jiffies, + discovery->firststamp + j_timeout))) ) { /* Create buffer as needed. * As this function get called a lot and most time * we don't have anything to put in the log (we are - To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html