1 diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/voicebus/voicebus.c dahdi-linux-2.4.0/drivers/dahdi/voicebus/voicebus.c
2 --- dahdi-linux-2.4.0.orig/drivers/dahdi/voicebus/voicebus.c 2010-08-17 13:53:18.000000000 +0200
3 +++ dahdi-linux-2.4.0/drivers/dahdi/voicebus/voicebus.c 2010-11-01 22:01:57.382883648 +0100
4 @@ -1120,7 +1120,7 @@ static void vb_stop_txrx_processors(stru
6 void voicebus_stop(struct voicebus *vb)
8 - static DECLARE_MUTEX(stop);
9 + static DEFINE_SEMAPHORE(stop);
13 diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctc4xxp/base.c dahdi-linux-2.4.0/drivers/dahdi/wctc4xxp/base.c
14 --- dahdi-linux-2.4.0.orig/drivers/dahdi/wctc4xxp/base.c 2010-07-28 17:32:03.000000000 +0200
15 +++ dahdi-linux-2.4.0/drivers/dahdi/wctc4xxp/base.c 2010-11-01 22:01:57.366885577 +0100
16 @@ -3443,7 +3443,7 @@ wctc4xxp_init_one(struct pci_dev *pdev,
20 - init_MUTEX(&wc->chansem);
21 + sema_init(&wc->chansem, 1);
22 spin_lock_init(&wc->reglock);
23 spin_lock_init(&wc->cmd_list_lock);
24 spin_lock_init(&wc->rx_list_lock);
25 diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/base.c dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/base.c
26 --- dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/base.c 2010-08-19 20:03:25.000000000 +0200
27 +++ dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/base.c 2010-11-01 22:01:57.395882083 +0100
28 @@ -207,7 +207,7 @@ static inline bool is_hx8(const struct w
31 struct wctdm *ifaces[WC_MAX_IFACES];
32 -DECLARE_MUTEX(ifacelock);
33 +DEFINE_SEMAPHORE(ifacelock);
35 static void wctdm_release(struct wctdm *wc);
37 @@ -4917,7 +4917,7 @@ __wctdm_init_one(struct pci_dev *pdev, c
39 /* This is to insure that the analog span is given lowest priority */
41 - init_MUTEX(&wc->syncsem);
42 + sema_init(&wc->syncsem, 1);
43 INIT_LIST_HEAD(&wc->frame_list);
44 spin_lock_init(&wc->frame_list_lock);
46 diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/xhfc.c dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/xhfc.c
47 --- dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/xhfc.c 2010-08-13 20:36:15.000000000 +0200
48 +++ dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/xhfc.c 2010-11-01 22:01:57.396881962 +0100
49 @@ -2576,8 +2576,8 @@ static int b400m_probe(struct wctdm *wc,
52 spin_lock_init(&b4->reglock);
53 - init_MUTEX(&b4->regsem);
54 - init_MUTEX(&b4->fifosem);
55 + sema_init(&b4->regsem, 1);
56 + sema_init(&b4->fifosem, 1);
58 for (x = 0; x < 4; x++) {
59 fasthdlc_init(&b4->spans[x].rxhdlc, FASTHDLC_MODE_16);
60 diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xbus-core.c dahdi-linux-2.4.0/drivers/dahdi/xpp/xbus-core.c
61 --- dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xbus-core.c 2010-07-13 21:38:13.000000000 +0200
62 +++ dahdi-linux-2.4.0/drivers/dahdi/xpp/xbus-core.c 2010-11-01 22:01:57.243900400 +0100
63 @@ -1165,7 +1165,7 @@ static void worker_init(xbus_t *xbus)
64 INIT_LIST_HEAD(&worker->card_list);
65 init_waitqueue_head(&worker->wait_for_xpd_initialization);
67 - init_MUTEX(&xbus->worker.running_initialization);
68 + sema_init(&xbus->worker.running_initialization, 1);
72 diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xpp_usb.c dahdi-linux-2.4.0/drivers/dahdi/xpp/xpp_usb.c
73 --- dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xpp_usb.c 2010-07-13 10:33:00.000000000 +0200
74 +++ dahdi-linux-2.4.0/drivers/dahdi/xpp/xpp_usb.c 2010-11-01 22:01:57.257898713 +0100
75 @@ -248,7 +248,7 @@ static unsigned bus_count = 0;
78 /* prevent races between open() and disconnect() */
79 -static DECLARE_MUTEX (disconnect_sem);
80 +static DEFINE_SEMAPHORE(disconnect_sem);
83 * AsteriskNow kernel has backported the "lean" callback from 2.6.20
84 @@ -690,7 +690,7 @@ static int xusb_probe(struct usb_interfa
88 - init_MUTEX (&xusb->sem);
89 + sema_init (&xusb->sem, 1);
90 atomic_set(&xusb->pending_writes, 0);
91 atomic_set(&xusb->pending_reads, 0);
92 atomic_set(&xusb->pcm_tx_drops, 0);