diff options
author | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-01-22 22:45:39 +0000 |
---|---|---|
committer | kpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-01-22 22:45:39 +0000 |
commit | 88d22007381081ae2a230f43b5cf5c4ea25086e7 (patch) | |
tree | de7e3d76452bb149da08356539ff0433411ab077 /wct4xxp | |
parent | 587483cd62d0a53545f3380763dc89453e7110e1 (diff) |
Merged revisions 1899 via svnmerge from
https://origsvn.digium.com/svn/zaptel/branches/1.4
................
r1899 | kpfleming | 2007-01-22 16:43:47 -0600 (Mon, 22 Jan 2007) | 11 lines
Merged revisions 1898 via svnmerge from
https://origsvn.digium.com/svn/zaptel/branches/1.2
........
r1898 | kpfleming | 2007-01-22 16:43:06 -0600 (Mon, 22 Jan 2007) | 3 lines
use better definition for linked-in firmware data
ensure that hotplug-loaded firmware is released when we are finished with it
........
................
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@1900 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wct4xxp')
-rw-r--r-- | wct4xxp/base.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/wct4xxp/base.c b/wct4xxp/base.c index 983be75..a86c8a0 100644 --- a/wct4xxp/base.c +++ b/wct4xxp/base.c @@ -3109,8 +3109,8 @@ static void t4_vpm450_init(struct t4 *wc) #if !defined(HOTPLUG_FIRMWARE) extern const u32 _binary_OCT6114_64D_ima_size; extern const u32 _binary_OCT6114_128D_ima_size; - extern u8 _binary_OCT6114_64D_ima_start; - extern u8 _binary_OCT6114_128D_ima_start; + extern u8 _binary_OCT6114_64D_ima_start[]; + extern u8 _binary_OCT6114_128D_ima_start[]; #endif if (!vpmsupport) { @@ -3146,7 +3146,7 @@ static void t4_vpm450_init(struct t4 *wc) return; } #else - embedded_firmware.data = &_binary_OCT6114_64D_ima_start; + embedded_firmware.data = _binary_OCT6114_64D_ima_start; embedded_firmware.size = _binary_OCT6114_64D_ima_size; #endif break; @@ -3158,7 +3158,7 @@ static void t4_vpm450_init(struct t4 *wc) return; } #else - embedded_firmware.data = &_binary_OCT6114_128D_ima_start; + embedded_firmware.data = _binary_OCT6114_128D_ima_start; embedded_firmware.size = _binary_OCT6114_128D_ima_size; #endif break; @@ -3169,12 +3169,21 @@ static void t4_vpm450_init(struct t4 *wc) if (!(wc->vpm450m = init_vpm450m(wc, laws, wc->numspans, firmware))) { printk("VPM450: Failed to initialize\n"); +#if defined(HOTPLUG_FIRMWARE) + release_firmware(firmware); +#endif return; } + +#if defined(HOTPLUG_FIRMWARE) + release_firmware(firmware); +#endif + if (vpmdtmfsupport == -1) { printk("VPM450: hardware DTMF disabled.\n"); vpmdtmfsupport = 0; } + wc->vpm = T4_VPM_PRESENT; printk("VPM450: Present and operational servicing %d span(s)\n", wc->numspans); |