	- same as with core.c
	- try forcing sysfs-object creation
--- mISDN-1_1_9_2.orig/drivers/isdn/hardware/mISDN/stack.c	2009-01-22 14:36:34.000000000 +0100
+++ mISDN-1_1_9_2/drivers/isdn/hardware/mISDN/stack.c	2011-07-20 16:43:13.224001559 +0200
@@ -9,9 +9,9 @@
 #include "core.h"
 
 static LIST_HEAD(mISDN_stacklist);
-static rwlock_t	stacklist_lock = RW_LOCK_UNLOCKED;
+static rwlock_t	stacklist_lock = __RW_LOCK_UNLOCKED(old_style_rw_init);
 static LIST_HEAD(mISDN_instlist);
-static rwlock_t	instlist_lock = RW_LOCK_UNLOCKED;
+static rwlock_t	instlist_lock = __RW_LOCK_UNLOCKED(old_style_rw_init);
 
 int
 get_stack_cnt(void)
@@ -793,7 +793,7 @@ delete_stack(mISDNstack_t *st)
 	struct semaphore sem;
 	u_long	flags;
 
-	init_MUTEX_LOCKED(&sem);
+	sema_init(&sem, 0);
 
 	if (core_debug & DEBUG_CORE_FUNC)
 		printk(KERN_DEBUG "%s: st(%p:%08x)\n", __FUNCTION__, st, st->id);
@@ -1216,7 +1216,7 @@ clear_stack(mISDNstack_t *st, int wait) 
 
 	if (wait) {
 		struct semaphore sem;
-		init_MUTEX_LOCKED(&sem);
+		sema_init(&sem, 0);
 
 		hhe->data[0] = &sem;
 		_queue_message(st, skb);
