*/
 
 #include <linux/init.h>
+#include <linux/jiffies.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
                reg = stb0899_read_reg(state, STB0899_DISSTATUS);
                if (!STB0899_GETFIELD(FIFOFULL, reg))
                        break;
-               if ((jiffies - start) > timeout) {
+               if (time_after(jiffies, start + timeout)) {
                        dprintk(state->verbose, FE_ERROR, 1, "timed out !!");
                        return -ETIMEDOUT;
                }
 
        while (!STB0899_GETFIELD(RXEND, reg)) {
                reg = stb0899_read_reg(state, STB0899_DISRX_ST0);
-               if (jiffies - start > timeout) {
+               if (time_after(jiffies, start + timeout)) {
                        dprintk(state->verbose, FE_ERROR, 1, "timed out!!");
                        return -ETIMEDOUT;
                }
 
        while (!STB0899_GETFIELD(TXIDLE, reg)) {
                reg = stb0899_read_reg(state, STB0899_DISSTATUS);
-               if (jiffies - start > timeout) {
+               if (time_after(jiffies, start + timeout)) {
                        dprintk(state->verbose, FE_ERROR, 1, "timed out!!");
                        return -ETIMEDOUT;
                }