diff options
author | Shaun Ruffell <sruffell@digium.com> | 2009-11-12 19:22:06 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2009-11-12 19:22:06 +0000 |
commit | 2758d0d1ee49b9d2fd78c6b3f96bdbcf98503fb4 (patch) | |
tree | 125aa22fc4630dfda4835e2ef969b1db5ce370f1 /drivers/dahdi/voicebus/GpakCust.h | |
parent | 6dbcb501a17b0b8b84a44a1a76de90d2a2c5936a (diff) |
voicebus: Fix race when enabling/disabling hardware echocan.
This closes a race condition where it was possible for the driver to
believe it has enabled the VPMADT032 when in fact, it really has not.
This fixes a regression introduced in dahdi-linux 2.2.0.
(issue #15724)
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7565 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/voicebus/GpakCust.h')
-rw-r--r-- | drivers/dahdi/voicebus/GpakCust.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dahdi/voicebus/GpakCust.h b/drivers/dahdi/voicebus/GpakCust.h index 9c84df7..1055cb6 100644 --- a/drivers/dahdi/voicebus/GpakCust.h +++ b/drivers/dahdi/voicebus/GpakCust.h @@ -115,8 +115,10 @@ struct vpmadt032 { unsigned long control; unsigned char curpage; unsigned short version; + enum adt_companding companding; struct adt_lec_params curecstate[MAX_CHANNELS_PER_SPAN]; - struct adt_lec_params desiredecstate[MAX_CHANNELS_PER_SPAN]; + spinlock_t change_list_lock; + struct list_head change_list; spinlock_t list_lock; /* Commands that are ready to be used. */ struct list_head free_cmds; |