Use msleep() instead of schedule_timeout()
  to guarantee the task delays as expected.
  Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
  Acked-by: Phil Blundell <pb@nexus.co.uk>
  Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
  Signed-off-by: Domen Puncer <domen@coderock.org>
  Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
        if (orig_HSR & DIR) {
                /* If HCR.DIR is up, we pull it down. HSR.DIR should follow. */
                outb(0, dev->base_addr + PORT_CONTROL);
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout(30*HZ/100);
+               msleep(300);
                if (inb_status(addr) & DIR) {
                        if (elp_debug > 0)
                                printk(notfound_msg, 2);
        } else {
                /* If HCR.DIR is down, we pull it up. HSR.DIR should follow. */
                outb(DIR, dev->base_addr + PORT_CONTROL);
-               set_current_state(TASK_UNINTERRUPTIBLE);
-               schedule_timeout(30*HZ/100);
+               msleep(300);
                if (!(inb_status(addr) & DIR)) {
                        if (elp_debug > 0)
                                printk(notfound_msg, 3);