aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2011-02-17 15:23:51 -0600
committerWilliam Pitcock <nenolod@dereferenced.org>2011-02-17 15:24:09 -0600
commitf23194b114f7b2a6ef6b3ab04b9b8f94b689246d (patch)
tree17f8af6c9bc31e821471e890c5409a37014686e5
parenta80db5fec4c7bb47ea1c52a24d396980c04c80ae (diff)
downloadaports-f23194b114f7b2a6ef6b3ab04b9b8f94b689246d.tar.bz2
aports-f23194b114f7b2a6ef6b3ab04b9b8f94b689246d.tar.xz
main/dahdi-linux-grsec: patch for 2.6.37 compat (digium svn r9464)
-rw-r--r--main/dahdi-linux-grsec/APKBUILD2
-rw-r--r--main/dahdi-linux-grsec/dahdi-linux-2.6.37-compat.patch127
2 files changed, 129 insertions, 0 deletions
diff --git a/main/dahdi-linux-grsec/APKBUILD b/main/dahdi-linux-grsec/APKBUILD
index 7b9e93f16b..f0c320a187 100644
--- a/main/dahdi-linux-grsec/APKBUILD
+++ b/main/dahdi-linux-grsec/APKBUILD
@@ -30,6 +30,7 @@ makedepends="linux-${_flavor}-dev=${_kernelver} wget tar perl"
install=
subpackages="$pkgname-dev"
source="http://downloads.digium.com/pub/telephony/dahdi-linux/releases/${_realname}-$_dahdiver.tar.gz
+ dahdi-linux-2.6.37-compat.patch
dahdi-depmod.patch
dahdi-bri_dchan.patch
dahdi-zaphfc.patch
@@ -75,6 +76,7 @@ dev() {
}
md5sums="0114826395f76713486142b90d772f82 dahdi-linux-2.4.0.tar.gz
+086393c0bd980e6d96631740a155953a dahdi-linux-2.6.37-compat.patch
c78fb8d80f9efdffd950297c88ff9273 dahdi-depmod.patch
4b41a82ff390ac64c08092c5a3eab6a8 dahdi-bri_dchan.patch
a822c092f0548cd13f5e8d8cba053af6 dahdi-zaphfc.patch
diff --git a/main/dahdi-linux-grsec/dahdi-linux-2.6.37-compat.patch b/main/dahdi-linux-grsec/dahdi-linux-2.6.37-compat.patch
new file mode 100644
index 0000000000..a029ffdab8
--- /dev/null
+++ b/main/dahdi-linux-grsec/dahdi-linux-2.6.37-compat.patch
@@ -0,0 +1,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);