]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/bonding/bond_alb.c
Convert bonding timers to workqueues
[net-next-2.6.git] / drivers / net / bonding / bond_alb.c
index aea2217c56ebeb327f1dd81dbbcdb45a716eeedf..eb320c3cbddeb702f0649ad74b90e30d31817a09 100644 (file)
@@ -1375,8 +1375,10 @@ out:
        return 0;
 }
 
-void bond_alb_monitor(struct bonding *bond)
+void bond_alb_monitor(struct work_struct *work)
 {
+       struct bonding *bond = container_of(work, struct bonding,
+                                           alb_work.work);
        struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
        struct slave *slave;
        int i;
@@ -1479,7 +1481,7 @@ void bond_alb_monitor(struct bonding *bond)
        }
 
 re_arm:
-       mod_timer(&(bond_info->alb_timer), jiffies + alb_delta_in_ticks);
+       queue_delayed_work(bond->wq, &bond->alb_work, alb_delta_in_ticks);
 out:
        read_unlock(&bond->lock);
 }