diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/voicebus/voicebus.c dahdi-linux-2.4.0/drivers/dahdi/voicebus/voicebus.c --- dahdi-linux-2.4.0.orig/drivers/dahdi/voicebus/voicebus.c 2010-08-17 13:53:18.000000000 +0200 +++ dahdi-linux-2.4.0/drivers/dahdi/voicebus/voicebus.c 2010-11-01 22:01:57.382883648 +0100 @@ -1120,7 +1120,7 @@ static void vb_stop_txrx_processors(stru */ void voicebus_stop(struct voicebus *vb) { - static DECLARE_MUTEX(stop); + static DEFINE_SEMAPHORE(stop); down(&stop); diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctc4xxp/base.c dahdi-linux-2.4.0/drivers/dahdi/wctc4xxp/base.c --- dahdi-linux-2.4.0.orig/drivers/dahdi/wctc4xxp/base.c 2010-07-28 17:32:03.000000000 +0200 +++ dahdi-linux-2.4.0/drivers/dahdi/wctc4xxp/base.c 2010-11-01 22:01:57.366885577 +0100 @@ -3443,7 +3443,7 @@ wctc4xxp_init_one(struct pci_dev *pdev, 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); diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/base.c dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/base.c --- dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/base.c 2010-08-19 20:03:25.000000000 +0200 +++ dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/base.c 2010-11-01 22:01:57.395882083 +0100 @@ -207,7 +207,7 @@ static inline bool is_hx8(const struct w } struct wctdm *ifaces[WC_MAX_IFACES]; -DECLARE_MUTEX(ifacelock); +DEFINE_SEMAPHORE(ifacelock); static void wctdm_release(struct wctdm *wc); @@ -4917,7 +4917,7 @@ __wctdm_init_one(struct pci_dev *pdev, c /* 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); diff -Naurp dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/xhfc.c dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/xhfc.c --- dahdi-linux-2.4.0.orig/drivers/dahdi/wctdm24xxp/xhfc.c 2010-08-13 20:36:15.000000000 +0200 +++ dahdi-linux-2.4.0/drivers/dahdi/wctdm24xxp/xhfc.c 2010-11-01 22:01:57.396881962 +0100 @@ -2576,8 +2576,8 @@ static int b400m_probe(struct wctdm *wc, } 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); 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 --- dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xbus-core.c 2010-07-13 21:38:13.000000000 +0200 +++ dahdi-linux-2.4.0/drivers/dahdi/xpp/xbus-core.c 2010-11-01 22:01:57.243900400 +0100 @@ -1165,7 +1165,7 @@ static void worker_init(xbus_t *xbus) 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); } /* 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 --- dahdi-linux-2.4.0.orig/drivers/dahdi/xpp/xpp_usb.c 2010-07-13 10:33:00.000000000 +0200 +++ dahdi-linux-2.4.0/drivers/dahdi/xpp/xpp_usb.c 2010-11-01 22:01:57.257898713 +0100 @@ -248,7 +248,7 @@ static unsigned bus_count = 0; /* 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 @@ static int xusb_probe(struct usb_interfa 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);