diff options
author | Shaun Ruffell <sruffell@digium.com> | 2012-06-22 17:59:34 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2012-06-22 17:59:34 +0000 |
commit | 94ef90ea980e6aec0d6f7843d7555ed5d9bf7c5e (patch) | |
tree | d647800347bcda496e9f356206ec2a12d815c09b | |
parent | 514f71287171bd37fadab3a4be7b1faf2635fc30 (diff) |
wcte12xp: Destroy the cache if the linemode is not recognized.
Fixes the following errors when running:
# modprobe wcte12xp default_linemode=blah; modprobe wcte12xp default_linemode=blah
'blah' is an unknown span type.kmem_cache_create: duplicate cache wcte12xp
Call Trace:
[<ffffffff800394cf>] kmem_cache_create+0x572/0x5ac
[<ffffffff800a926e>] __link_module+0x0/0x18
[<ffffffff80064624>] __down_read+0x12/0x92
[<ffffffff8002224d>] __up_read+0x19/0x7f
[<ffffffff8818b01f>] :wcte12xp:te12xp_init+0x1f/0xde
[<ffffffff800a9e37>] sys_init_module+0xbd/0x206
[<ffffffff8005d28d>] tracesys+0xd5/0xe0
Reported-by: James Brown <jbrown@digium.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10695 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r-- | drivers/dahdi/wcte12xp/base.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c index 2cd7d0b..09aabae 100644 --- a/drivers/dahdi/wcte12xp/base.c +++ b/drivers/dahdi/wcte12xp/base.c @@ -2933,6 +2933,7 @@ static int __init te12xp_init(void) strcasecmp(default_linemode, "e1")) { pr_err("'%s' is an unknown span type.", default_linemode); default_linemode = "auto"; + kmem_cache_destroy(cmd_cache); return -EINVAL; } res = dahdi_pci_module(&te12xp_driver); |