- same as with core.c --- mISDN-1_1_9_2.orig/drivers/isdn/hardware/mISDN/udevice.c 2009-01-22 14:36:34.000000000 +0100 +++ mISDN-1_1_9_2/drivers/isdn/hardware/mISDN/udevice.c 2011-07-11 13:54:44.650001546 +0200 @@ -57,7 +57,7 @@ typedef struct entity_item { } entity_item_t; static LIST_HEAD(mISDN_devicelist); -static rwlock_t mISDN_device_lock = RW_LOCK_UNLOCKED; +static rwlock_t mISDN_device_lock = __RW_LOCK_UNLOCKED(old_style_rw_init); static mISDNobject_t udev_obj; static char MName[] = "UserDevice"; @@ -1458,7 +1458,7 @@ init_device(u_int minor) { init_waitqueue_head(&dev->wport.procq); skb_queue_head_init(&dev->rport.queue); skb_queue_head_init(&dev->wport.queue); - init_MUTEX(&dev->io_sema); + sema_init(&dev->io_sema, 1); INIT_LIST_HEAD(&dev->layerlist); INIT_LIST_HEAD(&dev->stacklist); INIT_LIST_HEAD(&dev->timerlist); @@ -1557,12 +1557,12 @@ mISDN_open(struct inode *ino, struct fil return(-ENOMEM); dev->open_mode |= filep->f_mode & (FMODE_READ | FMODE_WRITE); if (dev->open_mode & FMODE_READ){ - dev->rport.lock = SPIN_LOCK_UNLOCKED; + dev->rport.lock = __SPIN_LOCK_UNLOCKED(old_style_spin_init); dev->rport.maxqlen = DEFAULT_PORT_QUEUELEN; test_and_set_bit(FLG_mISDNPORT_OPEN, &dev->rport.Flag); } if (dev->open_mode & FMODE_WRITE) { - dev->wport.lock = SPIN_LOCK_UNLOCKED; + dev->wport.lock = __SPIN_LOCK_UNLOCKED(old_style_spin_init); dev->wport.maxqlen = DEFAULT_PORT_QUEUELEN; test_and_set_bit(FLG_mISDNPORT_OPEN, &dev->wport.Flag); }