|
@@ -1317,8 +1317,7 @@ static int __init elp_sense(struct net_device *dev)
|
|
if (orig_HSR & DIR) {
|
|
if (orig_HSR & DIR) {
|
|
/* If HCR.DIR is up, we pull it down. HSR.DIR should follow. */
|
|
/* If HCR.DIR is up, we pull it down. HSR.DIR should follow. */
|
|
outb(0, dev->base_addr + PORT_CONTROL);
|
|
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 (inb_status(addr) & DIR) {
|
|
if (elp_debug > 0)
|
|
if (elp_debug > 0)
|
|
printk(notfound_msg, 2);
|
|
printk(notfound_msg, 2);
|
|
@@ -1327,8 +1326,7 @@ static int __init elp_sense(struct net_device *dev)
|
|
} else {
|
|
} else {
|
|
/* If HCR.DIR is down, we pull it up. HSR.DIR should follow. */
|
|
/* If HCR.DIR is down, we pull it up. HSR.DIR should follow. */
|
|
outb(DIR, dev->base_addr + PORT_CONTROL);
|
|
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 (!(inb_status(addr) & DIR)) {
|
|
if (elp_debug > 0)
|
|
if (elp_debug > 0)
|
|
printk(notfound_msg, 3);
|
|
printk(notfound_msg, 3);
|