Re: [PATCH] PCI and I2C fixes for 2.6.8

Greg KH
2004-08-23T19:57:06Z

ChangeSet 1.1790.2.5, 2004/08/02 15:34:38-07:00, nacc@us.ibm.com

[PATCH] PCI Hotplug: cpci_hotplug_core: replace schedule_timeout() with msleep()

Uses msleep() instead of schedule_timeout() to guarantee
the task delays the desired time.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>

drivers/pci/hotplug/cpci_hotplug_core.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)

diff -Nru a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c
--- a/drivers/pci/hotplug/cpci_hotplug_core.c 2004-08-23 11:08:28 -07:00
+++ b/drivers/pci/hotplug/cpci_hotplug_core.c 2004-08-23 11:08:28 -07:00
@@ -513,11 +513,10 @@
break;
while(controller->ops->query_enum()) {
rc = check_slots();
- if(rc > 0) {
+ if (rc > 0)
/* Give userspace a chance to handle extraction */
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(HZ / 2);
- } else if(rc < 0) {
+ msleep(500);
+ else if (rc < 0) {
dbg("%s - error checking slots", __FUNCTION__);
thread_finished = 1;
break;
@@ -568,11 +567,10 @@

while(controller->ops->query_enum()) {
rc = check_slots();
- if(rc > 0) {
+ if(rc > 0)
/* Give userspace a chance to handle extraction */
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(HZ / 2);
- } else if(rc < 0) {
+ msleep(500);
+ else if (rc < 0) {
dbg("%s - error checking slots", __FUNCTION__);
thread_finished = 1;
break;
@@ -595,8 +593,7 @@
}
}

- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(HZ / 10);
+ msleep(100);
}
dbg("poll thread signals exit");
up(&thread_exit);