aboutsummaryrefslogtreecommitdiffstats
path: root/main/dahdi-linux-grsec/dahdi-linux-2.6.37-compat.patch
blob: a029ffdab8837dc54b5a986a0129945cfec714d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Index: include/dahdi/kernel.h
===================================================================
--- a/include/dahdi/kernel.h	(revision 9463)
+++ b/include/dahdi/kernel.h	(revision 9464)
@@ -1291,6 +1291,11 @@
 #define DEFINE_SPINLOCK(x)      spinlock_t x = SPIN_LOCK_UNLOCKED
 #endif
 
+#ifndef DEFINE_SEMAPHORE
+#define DEFINE_SEMAPHORE(name) \
+	struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
+#endif
+
 #ifndef DMA_BIT_MASK
 #define DMA_BIT_MASK(n)	(((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
 #endif
Index: drivers/dahdi/hpec/dahdi_echocan_hpec.c
===================================================================
--- a/drivers/dahdi/hpec/dahdi_echocan_hpec.c	(revision 9463)
+++ b/drivers/dahdi/hpec/dahdi_echocan_hpec.c	(revision 9464)
@@ -115,7 +115,7 @@
 	hpec_channel_update(pvt->hpec, isig, iref);
 }
 
-DECLARE_MUTEX(license_lock);
+DEFINE_SEMAPHORE(license_lock);
 
 static int echo_can_create(struct dahdi_chan *chan, struct dahdi_echocanparams *ecp,
 			   struct dahdi_echocanparam *p, struct dahdi_echocan_state **ec)
Index: drivers/dahdi/voicebus/voicebus.c
===================================================================
--- a/drivers/dahdi/voicebus/voicebus.c	(revision 9463)
+++ b/drivers/dahdi/voicebus/voicebus.c	(revision 9464)
@@ -1107,7 +1107,7 @@
  */
 void voicebus_stop(struct voicebus *vb)
 {
-	static DECLARE_MUTEX(stop);
+	static DEFINE_SEMAPHORE(stop);
 
 	down(&stop);
 
Index: drivers/dahdi/xpp/xpp_usb.c
===================================================================
--- a/drivers/dahdi/xpp/xpp_usb.c	(revision 9463)
+++ b/drivers/dahdi/xpp/xpp_usb.c	(revision 9464)
@@ -248,7 +248,7 @@
 
 
 /* prevent races between open() and disconnect() */
-static DECLARE_MUTEX (disconnect_sem);
+static DEFINE_SEMAPHORE(disconnect_sem);
 
 /*
  * AsteriskNow kernel has backported the "lean" callback from 2.6.20
@@ -690,7 +690,7 @@
 		retval = -ENOMEM;
 		goto probe_failed;
 	}
-	init_MUTEX (&xusb->sem);
+	sema_init(&xusb->sem, 1);
 	atomic_set(&xusb->pending_writes, 0);
 	atomic_set(&xusb->pending_reads, 0);
 	atomic_set(&xusb->pcm_tx_drops, 0);
Index: drivers/dahdi/xpp/xbus-core.c
===================================================================
--- a/drivers/dahdi/xpp/xbus-core.c	(revision 9463)
+++ b/drivers/dahdi/xpp/xbus-core.c	(revision 9464)
@@ -1165,7 +1165,7 @@
 	INIT_LIST_HEAD(&worker->card_list);
 	init_waitqueue_head(&worker->wait_for_xpd_initialization);
 	worker->wq = NULL;
-	init_MUTEX(&xbus->worker.running_initialization);
+	sema_init(&xbus->worker.running_initialization, 1);
 }
 
 /*
Index: drivers/dahdi/wctdm24xxp/xhfc.c
===================================================================
--- a/drivers/dahdi/wctdm24xxp/xhfc.c	(revision 9463)
+++ b/drivers/dahdi/wctdm24xxp/xhfc.c	(revision 9464)
@@ -2576,8 +2576,8 @@
 	}
 
 	spin_lock_init(&b4->reglock);
-	init_MUTEX(&b4->regsem);
-	init_MUTEX(&b4->fifosem);
+	sema_init(&b4->regsem, 1);
+	sema_init(&b4->fifosem, 1);
 
 	for (x = 0; x < 4; x++) {
 		fasthdlc_init(&b4->spans[x].rxhdlc, FASTHDLC_MODE_16);
Index: drivers/dahdi/wctdm24xxp/base.c
===================================================================
--- a/drivers/dahdi/wctdm24xxp/base.c	(revision 9463)
+++ b/drivers/dahdi/wctdm24xxp/base.c	(revision 9464)
@@ -207,7 +207,7 @@
 }
 
 struct wctdm *ifaces[WC_MAX_IFACES];
-DECLARE_MUTEX(ifacelock);
+DEFINE_SEMAPHORE(ifacelock);
 
 static void wctdm_release(struct wctdm *wc);
 
@@ -4923,7 +4923,7 @@
 
 	/* This is to insure that the analog span is given lowest priority */
 	wc->oldsync = -1;
-	init_MUTEX(&wc->syncsem);
+	sema_init(&wc->syncsem, 1);
 	INIT_LIST_HEAD(&wc->frame_list);
 	spin_lock_init(&wc->frame_list_lock);
 
Index: drivers/dahdi/wctc4xxp/base.c
===================================================================
--- a/drivers/dahdi/wctc4xxp/base.c	(revision 9463)
+++ b/drivers/dahdi/wctc4xxp/base.c	(revision 9464)
@@ -3443,7 +3443,7 @@
 		return -EIO;
 	}
 
-	init_MUTEX(&wc->chansem);
+	sema_init(&wc->chansem, 1);
 	spin_lock_init(&wc->reglock);
 	spin_lock_init(&wc->cmd_list_lock);
 	spin_lock_init(&wc->rx_list_lock);