From cb5dc4b072721311581adf3196f6bc1225a8ec61 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Tue, 23 Jun 2009 20:32:01 +0000 Subject: Use the same mutex lock for channel allocation and license checking in dahdi_echocan_hpec, so that channel allocation won't happen while the license is being checked (or rechecked) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6699 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/hpec/dahdi_echocan_hpec.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'drivers/dahdi/hpec/dahdi_echocan_hpec.c') diff --git a/drivers/dahdi/hpec/dahdi_echocan_hpec.c b/drivers/dahdi/hpec/dahdi_echocan_hpec.c index 17589b8..6a98d20 100644 --- a/drivers/dahdi/hpec/dahdi_echocan_hpec.c +++ b/drivers/dahdi/hpec/dahdi_echocan_hpec.c @@ -114,7 +114,7 @@ static void echo_can_process(struct dahdi_echocan_state *ec, short *isig, const hpec_channel_update(pvt->hpec, isig, iref); } -DECLARE_MUTEX(alloc_lock); +DECLARE_MUTEX(license_lock); static int echo_can_create(struct dahdi_chan *chan, struct dahdi_echocanparams *ecp, struct dahdi_echocanparam *p, struct dahdi_echocan_state **ec) @@ -133,12 +133,12 @@ static int echo_can_create(struct dahdi_chan *chan, struct dahdi_echocanparams * pvt->dahdi.ops = &my_ops; pvt->dahdi.features = my_features; - if (down_interruptible(&alloc_lock)) + if (down_interruptible(&license_lock)) return -ENOTTY; pvt->hpec = hpec_channel_alloc(ecp->tap_length); - up(&alloc_lock); + up(&license_lock); if (!pvt->hpec) { kfree(pvt); @@ -155,8 +155,6 @@ static int echo_can_traintap(struct dahdi_echocan_state *ec, int pos, short val) return 1; } -DECLARE_MUTEX(license_lock); - static int hpec_license_ioctl(unsigned int cmd, unsigned long data) { struct hpec_challenge challenge; -- cgit v1.2.3