diff options
author | Shaun Ruffell <sruffell@digium.com> | 2008-11-10 19:48:22 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2008-11-10 19:48:22 +0000 |
commit | b4b11683141ceb7fb21faa7a75111fc2488f2b64 (patch) | |
tree | f60aed03fe053681d41a025c51aca141555a61c0 /drivers/dahdi/wcte12xp/base.c | |
parent | 7f7180b3d73cb7073d0a00d33ee9fe286139a0c5 (diff) |
- Do not hold any locks while calling close_channel, which can result in calls
to the echocan modules which do not necesarrily assume they are being called
in atomic context.
- Remove the bigzaplock around calls to psuedo_alloc and pseudo_free. The
structures protected by this lock are already protected by the chan_lock in
these two cases.
- Remove calls to in_atomic() that were previously added to work around this,
but did not cover all the cases.
Issue: DAHDI-195, DAHDI-170
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5275 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wcte12xp/base.c')
-rw-r--r-- | drivers/dahdi/wcte12xp/base.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c index 6ed6abf..e68bbf8 100644 --- a/drivers/dahdi/wcte12xp/base.c +++ b/drivers/dahdi/wcte12xp/base.c @@ -35,7 +35,6 @@ #include <linux/pci.h> #include <linux/proc_fs.h> #include <linux/moduleparam.h> -#include <linux/interrupt.h> #include <dahdi/kernel.h> @@ -1071,7 +1070,7 @@ static int t1xxp_echocan_with_params(struct dahdi_chan *chan, struct dahdi_echoc to control whether the ec is on or off, so translate it */ params.tap_length = ecp->tap_length ? 1 : 0; - if (!(work = kmalloc(sizeof(*work), (in_atomic()) ? GFP_ATOMIC : GFP_KERNEL))) + if (!(work = kmalloc(sizeof(*work), GFP_KERNEL))) return -ENOMEM; work->params = params; |