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