p = frame;
 
        /* restart timer */
-       if (time_before(hc->keep_tl.expires, jiffies + 5 * HZ)) {
-               del_timer(&hc->keep_tl);
-               hc->keep_tl.expires = jiffies + L1OIP_KEEPALIVE * HZ;
-               add_timer(&hc->keep_tl);
-       } else
+       if (time_before(hc->keep_tl.expires, jiffies + 5 * HZ))
+               mod_timer(&hc->keep_tl, jiffies + L1OIP_KEEPALIVE * HZ);
+       else
                hc->keep_tl.expires = jiffies + L1OIP_KEEPALIVE * HZ;
 
        if (debug & DEBUG_L1OIP_MSG)
        /* restart timer */
        if (time_before(hc->timeout_tl.expires, jiffies + 5 * HZ) || !hc->timeout_on) {
                hc->timeout_on = 1;
-               del_timer(&hc->timeout_tl);
-               hc->timeout_tl.expires = jiffies + L1OIP_TIMEOUT * HZ;
-               add_timer(&hc->timeout_tl);
+               mod_timer(&hc->timeout_tl, jiffies + L1OIP_TIMEOUT * HZ);
        } else /* only adjust timer */
                hc->timeout_tl.expires = jiffies + L1OIP_TIMEOUT * HZ;