diff options
Diffstat (limited to 'drivers/isdn/pcbit/drv.c')
| -rw-r--r-- | drivers/isdn/pcbit/drv.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/isdn/pcbit/drv.c b/drivers/isdn/pcbit/drv.c index 1eaf6227390..f02cc506fbf 100644 --- a/drivers/isdn/pcbit/drv.c +++ b/drivers/isdn/pcbit/drv.c @@ -796,6 +796,7 @@ static void set_running_timeout(unsigned long ptr)  #endif  	dev = (struct pcbit_dev *) ptr; +	dev->l2_state = L2_DOWN;  	wake_up_interruptible(&dev->set_running_wq);  } @@ -818,7 +819,8 @@ static int set_protocol_running(struct pcbit_dev *dev)  	add_timer(&dev->set_running_timer); -	interruptible_sleep_on(&dev->set_running_wq); +	wait_event(dev->set_running_wq, dev->l2_state == L2_RUNNING || +					dev->l2_state == L2_DOWN);  	del_timer(&dev->set_running_timer); @@ -842,8 +844,6 @@ static int set_protocol_running(struct pcbit_dev *dev)  		printk(KERN_DEBUG "pcbit: initialization failed\n");  		printk(KERN_DEBUG "pcbit: firmware not loaded\n"); -		dev->l2_state = L2_DOWN; -  #ifdef DEBUG  		printk(KERN_DEBUG "Bank3 = %02x\n",  		       readb(dev->sh_mem + BANK3));  | 
