summaryrefslogtreecommitdiff
path: root/package/mISDN/patches/patch-drivers_isdn_hardware_mISDN_stack_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/mISDN/patches/patch-drivers_isdn_hardware_mISDN_stack_c')
-rw-r--r--package/mISDN/patches/patch-drivers_isdn_hardware_mISDN_stack_c34
1 files changed, 34 insertions, 0 deletions
diff --git a/package/mISDN/patches/patch-drivers_isdn_hardware_mISDN_stack_c b/package/mISDN/patches/patch-drivers_isdn_hardware_mISDN_stack_c
new file mode 100644
index 000000000..972660318
--- /dev/null
+++ b/package/mISDN/patches/patch-drivers_isdn_hardware_mISDN_stack_c
@@ -0,0 +1,34 @@
+ - 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);