+ if (atomic_read(&ax25_rt->ref) == 0) {
+ kfree(ax25_rt->digipeat);
+ kfree(ax25_rt);
+ return;
+ }
+
+ /*
+ * Uh... Route is still in use; we can't yet destroy it. Retry later.
+ */
+ init_timer(&ax25_rt->timer);
+ ax25_rt->timer.data = (unsigned long) ax25_rt;
+ ax25_rt->timer.function = (void *) ax25_rt_destroy;
+ ax25_rt->timer.expires = jiffies + 5 * HZ;
+
+ add_timer(&ax25_rt->timer);