From: Nishanth Aravamudan Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/wireless/airport.c | 18 +++++++----------- 1 files changed, 7 insertions(+), 11 deletions(-) diff -puN drivers/net/wireless/airport.c~net-airport-replace-schedule_timeout-with-ssleep-msleep drivers/net/wireless/airport.c --- 25/drivers/net/wireless/airport.c~net-airport-replace-schedule_timeout-with-ssleep-msleep Tue Sep 21 15:30:30 2004 +++ 25-akpm/drivers/net/wireless/airport.c Tue Sep 21 15:30:30 2004 @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -94,8 +95,7 @@ airport_resume(struct macio_dev *mdev) printk(KERN_DEBUG "%s: Airport waking up\n", dev->name); pmac_call_feature(PMAC_FTR_AIRPORT_ENABLE, macio_get_of_node(mdev), 0, 1); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/5); + msleep(200); enable_irq(dev->irq); @@ -147,8 +147,7 @@ airport_detach(struct macio_dev *mdev) macio_release_resource(mdev, 0); pmac_call_feature(PMAC_FTR_AIRPORT_ENABLE, macio_get_of_node(mdev), 0, 0); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + ssleep(1); macio_set_drvdata(mdev, NULL); free_netdev(dev); @@ -174,14 +173,12 @@ static int airport_hard_reset(struct ori disable_irq(dev->irq); pmac_call_feature(PMAC_FTR_AIRPORT_ENABLE, macio_get_of_node(card->mdev), 0, 0); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + ssleep(1); pmac_call_feature(PMAC_FTR_AIRPORT_ENABLE, macio_get_of_node(card->mdev), 0, 1); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + ssleep(1); enable_irq(dev->irq); - schedule_timeout(HZ); + ssleep(1); #endif return 0; @@ -240,8 +237,7 @@ airport_attach(struct macio_dev *mdev, c /* Power up card */ pmac_call_feature(PMAC_FTR_AIRPORT_ENABLE, macio_get_of_node(mdev), 0, 1); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + ssleep(1); /* Reset it before we get the interrupt */ hermes_init(hw); _