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