	- 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);
 	}
