From 3116fab2683c4438c70bd49aa7cc494208737380 Mon Sep 17 00:00:00 2001 From: Nishanth Aravamudan Date: Sun, 24 Jul 2005 19:34:47 -0700 Subject: [PATCH] --- yaml --- r: 4957 b: refs/heads/master c: 2d1aea8dd02ad35658864de52a3e0f9f033e63f4 h: refs/heads/master i: 4955: 6484156c36fc6d27c8ad54043387fe484dd4b279 v: v3 --- [refs] | 2 +- trunk/drivers/sbus/char/vfc_i2c.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 37632bccf2a7..9e1d57f24e21 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cb39d263e751f9cca8055bcacfe5ec863dfe2705 +refs/heads/master: 2d1aea8dd02ad35658864de52a3e0f9f033e63f4 diff --git a/trunk/drivers/sbus/char/vfc_i2c.c b/trunk/drivers/sbus/char/vfc_i2c.c index 95e3cebf792c..1faf1e75f71f 100644 --- a/trunk/drivers/sbus/char/vfc_i2c.c +++ b/trunk/drivers/sbus/char/vfc_i2c.c @@ -88,14 +88,16 @@ void vfc_i2c_delay_wakeup(struct vfc_dev *dev) void vfc_i2c_delay_no_busy(struct vfc_dev *dev, unsigned long usecs) { + DEFINE_WAIT(wait); init_timer(&dev->poll_timer); - dev->poll_timer.expires = jiffies + - ((unsigned long)usecs*(HZ))/1000000; + dev->poll_timer.expires = jiffies + usecs_to_jiffies(usecs); dev->poll_timer.data=(unsigned long)dev; dev->poll_timer.function=(void *)(unsigned long)vfc_i2c_delay_wakeup; add_timer(&dev->poll_timer); - sleep_on(&dev->poll_wait); + prepare_to_wait(&dev->poll_wait, &wait, TASK_UNINTERRUPTIBLE); + schedule(); del_timer(&dev->poll_timer); + finish_wait(&dev->poll_wait, &wait); } void inline vfc_i2c_delay(struct vfc_dev *dev)