summaryrefslogtreecommitdiff
path: root/drivers/dahdi
AgeCommit message (Collapse)Author
2011-12-07xpp: bugfix -- manage xpd refcount for EC moduleTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10374 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-02dahdi: #include <linux/module.h> in dahdi/kernel.h and GpakCust.hShaun Ruffell
Commit de47725, first released in 3.2-rc1 removed module.h from some kernel headers. Include it explicitly now. Resolves compilation errors like: error: implicit declaration of function 'try_module_get' error: 'THIS_MODULE' undeclared (first use in this function) error: implicit declaration of function 'module_put' Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10361 Conflicts: include/dahdi/kernel.h git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10363 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-02wctc4xxp: Replace 'ndo_set_multicast_list' with 'set_rx_mode'Shaun Ruffell
The ndo_set_multicast_list callback was removed in b81693d9, which was first released in Linux Kernel 3.2-rc1 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10360 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10362 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-30xpp: pri: fix RS1 init in E1 CAS modeTzafrir Cohen
Force some reserved bits to really be 1 in E1 mode (otherwise terrorists will win). (Closes issue DAHLIN-264) Signed-off-by: Oron Peled <oron.peled@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10353 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-30xpp: fxs: demote SETPOLARITY message to DBG()Tzafrir Cohen
Signed-off-by: Oron Peled <oron.peled@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10352 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-30xpp: Adaptations for E-Main-3Tzafrir Cohen
* An xbus transport now have a "model_string" member * The xpp_usb driver fills this with "usb:<idVendor>/<idProduct>/<bcdDevice>" * It is passed via environment to the "init_card_<type>_<protocol>" scripts * The FXS script uses this to condition two registers according to the power supply model. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10351 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-16xpp: increase command queue length to 1500Tzafrir Cohen
A length of 1000 commands is not enough is some cases with CAS. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10342 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-13xpp: USB_FW rev 10085: fix regression from r10324Tzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10340 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-13xpp: PIC_TYPE_1 rev 9841: followup to r10324Tzafrir Cohen
An extra fix that was accidentally not included in r10324. Minor bug fixes. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10338 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-13xpp: silence some bad ioctl() reportingTzafrir Cohen
Ignore some FXS-specific ioctl-s in xpd_pri. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10336 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-07xpp: USB firmware r9964: minor bugfixesTzafrir Cohen
USB_FW rev 9964: includes a few stability bugfixes. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10324 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-11-02dahdi: First span registered becomes master by default.Shaun Ruffell
r10205 "dahdi: Check for master in DAHDI_STARTUP / resolves MeetMe regression." did not handle the case for the wcb4xxp driver since it would set DAHDI_FLAG_RUNNING as part of the probe. Therefore, the DAHDI_STARTUP ioctl was never processed for it, creating a situation where audio is missing on channels that are conferenced with channels on the BRI spans. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10304 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10305 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-10-21dahdi: Move WARN_ON_ONCE from wctc4xxp driver to include/dahdi/kernel.hShaun Ruffell
I only generally test on RHEL 4 when testing against kernels older than 2.6.18. Apparently OpenSUSE 10.1 runs with 2.6.16 and doesn't have WARN_ON_ONCE backported. I took the patch Richard Miller originally attached to the issue and moved it to include/dahdi/kernel.h so it would be available for all the board drivers in the future. Internal-Issue-ID: DAHLIN-260 Reported-by: Richard Miller Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10252 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10254 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-10-21wcb4xxp: Do not show LASVEGAS2 as echocan name if vpmsupport is set to 0Shaun Ruffell
This fixes an issue where "EC: LASVEGAS2" was displayed in /proc/dahdi/x for a B410P span even though vpmsupport was disabled with the module parameter. Internal-Issue-ID: DAHLIN-247 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10251 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10253 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-10-12wct4xxp: Fix condition where hardware echo canceler erroneously mutes DTMF.Shaun Ruffell
Commit r9750 "wct4xxp: Reduce the memory footprint of the hardware echocanceler.", as part of reducing the non-pageable memory required to support the VPMOCT064 and VPMOCT128, disabled caching of some hardware echocan registers. This resulted in more physical reads to the echo canceler. These new read transactions exposed an existing issue where sometimes reads could be turned into writes which put a channel into an unintended state preventing Asterisk from detecting any DTMF. This issue is resolved by ensuring that the write signal to the Octasic part is explicitly cleared between when the address is presented on the bus and when the read and chip select signals are asserted. The cost is an increase in the average time to enable / disable echo cancellation by about 5 us on one Intel Xeon X3220 test machine (~250ns increase per read from the Octasic part and 20 reads to enable / disable a channel). This commit resolves a behavioral regression first introduced in 2.5.0 and 2.4.1 which could take many calls before revealing itself. This change only affects cards with a VPMOCT128 or VPMOCT064 installed. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Doug Bailey <dbailey@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10220 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10221 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-30wctc4xxp: Allow G723 SID frames to pass to the hardware decoder.Shaun Ruffell
The driver has, until now, dropped G723 SID frames even though the firmware on the TC400/TCE400 can handle them. Now let them on through. Reported-and-Tested-by: Angel Carhuas <acarhuas@colinanet.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10218 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10219 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-27wctdm24xxp: Set dahdi_span.devicetype string in one place.Shaun Ruffell
Currently the devicetype string was set both when the device was first allocated and updated when an echocanceler was detected. For simplicity, combine both these steps into a single function. This change also replaces an improper use of strncat with strlcat. Additionally, on the 2.5 branch, this change actually makes r10206 "wctdm24xxp, wcte12xp: Advertise VPMOCT032 presence in dahdi_span.devicetype", work the way it was originally intended. That change was only functioning properly previously on trunk. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10210 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10211 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-25xpp: fxs: bugfix for 2fxs+6fxo cardsTzafrir Cohen
* Bug sympthoms: wrong FSK VMWI sent few seconds after offhook. That was caused because the driver kept polling the (physically unconnected) digital inputs. [note: a workaround for drivers without this patch is to zero the 'xpd_fxs.poll_digital_inputs' parameter.] * Also, the digital_inputs/digital_output masks were calculate using a different condition. * Now we determine number of channels, digital inputs and digital outputs in a single place and use this info later to calculate the correct masks. * We poll only if there are digital_inputs * We added a sanity check in process_digital_inputs, so we get a notice if it's called on an xpd without digital inputs (e.g: hypothetic firmware bug). Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10208 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-23dahdi: Check for master in DAHDI_STARTUP / resolves MeetMe regression.Shaun Ruffell
There were a couple of reports that MeetMe conferences were not working in 2.5.0.1 and that downgrading to 2.4.1.2 resolved the issue. This could occur if there were no analog spans in a system, and all the digital spans were out of alarm before DAHDI_STARTUP ioctl was called by dahdi_cfg. If the spans were *not* out of alarm, they would be marked master when the span changes it's alarm state. This would result in a condition where no spans were marked as the "master" and so the core timer was handling conferencing. The core timer runs by default at 4ms and most board drivers run at 1ms intervals, but a channel currently only buffers up 2ms of data when conferenced. Therefore, 2ms of audio from a board was continuously dropped from the conference every 4ms by default. This fixes a regression first introduced in 2.5.0 which was specifically added in revision r9611 "dahdi: Do not locate new master in interrupt context." Internal-reference-ID: DAHDI-894 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Tested-by: Dennis Martinez <dmartinez@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10205 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10207 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-23wctdm24xxp, wcte12xp: Advertise VPMOCT032 presence in dahdi_span.devicetype.Shaun Ruffell
A "(VPMADT032)" string is appended to the devicetype (as shown by dahdi_scan) for the span if one is installed. Now append '(VPMOCT032)' if one is installed as well. Also, for the wcte12xp driver append the VPM name to the device type after initially probing as opposed to only after the span is configured. (Related to issue DAHDI-890) Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10203 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10206 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-13dahdi: Decrease the initial coretimer delay to 4ms from 1 second.Shaun Ruffell
DAHDI currently waits a second before checking if a board driver is calling dahdi_receive and switching to internal timing. Some versions of Asterisk (I was looking at 1.4.42 when writing this) only wait 300ms for a timer to expire when first starting and verifying that DAHDI is properly configured. This can result in a "ERROR[27673] asterisk.c: Asterisk has detected a problem with your DAHDI configuration and will shutdown for your protection. You have options:" message if asterisk is started soon after loading DAHDI. This change sets the inital polling interval to the same as that used during normal coretimer operation, 4ms. The interval will still be slowed to 1 second if a board driver starts calling dahdi_receive(). DAHDI-892. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10200 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10201 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-09-05xpp: firmware to detect the new 2+6 moduleTzafrir Cohen
New firmwares to handle the new 2FXS/6FXO module. FPGA_1161.hex, PIC_TYPE_1.hex, PIC_TYPE_2.hex of internal rev. 9732 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10180 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-30wcte12xp, wctdm24xxp: Update VPMOCT032 firmware to 1.11.0.Shaun Ruffell
Firmware version 1.11.0 resolves an issue where the driver fails to detect certain VPMOCT032 modules after a cold boot. Signed-off-by: Doug Bailey <dbailey@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10172 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10173 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-28xpp: FXS: new 2+6 module has no digital I/O portsTzafrir Cohen
This module is recognized via subtype==4 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10157 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-19wctdm24xxp: Set 'fastoffhook' counter to 8ms and turn off calibration delay.Shaun Ruffell
r10006 "wctdm24xxp: Add 'fastpick' module parameter." copied the fast-off hook module parameter from the wctdm.c driver, but the setting in that driver does not match the data sheet. The previous commit did not actually change any of the significant bits in that register. Also, that commit changed the timer, but did not disable the callibration delay which is necessary for Type-II callerid. The fastpickup option in the wctdm24xxp driver should now match the fastpickup option in the wctdm driver. DAHDI-224. Reported-By: Kinnith Wallace <kwallace@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10148 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10150 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-19wctdm: Set 'fastpickup' counter to 8msShaun Ruffell
This fixes what looks like a typo in r1055 [1]. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=1055 Reported-by: Kinnith Wallace <kwallace@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10147 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10149 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-18wctdm24xxp: Use our own free list for IRQ commands.Shaun Ruffell
Really only *necessary* when SLAB debugging is enabled, but in that case, can reduce the chance of latency bumps when first loading the driver. Otherwise the constant slab poisoning / checking in interrupt context from the kmalloc / kfrees is too much. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10144 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10146 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-18wct4xxp: Bug in timing cable with different span density cardsShaun Ruffell
The logic loops through the static cards[] array to determine timing, but the subloop was based off the current card's numspans member. This could cause a null dereference in the case where two cards of different span densities were connected via timing cables. Reported-by: Doug Bailey <dbailey@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10140 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10145 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-15wctc4xxp: Fix lock imbalance in wctc4xxp_watchdog.Shaun Ruffell
r10082 "wctc4xxp: Cleanup in-flight commands when halting due to hardware error." introduced a lock imblance on the error path where the cmd_list_lock would be unlocked twice when the board is halted due to a hardware error. Thanks sparse. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10138 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10139 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-12wcte12xp, wctdm24xxp: Force local interrupts off in the interrupt handler.Shaun Ruffell
r10066 "wctdm24xxp, wcte12xp: Run the ISR with interrupts disabled." requested that the interrupt handler be run in "fast" mode (disabled) but this isn't necessarily guaranteed. This patch makes the interrupt handler itself disable all the interrupts. Linux commit 470c66239ef0336429b35345f3f615d47341e13b [1] contains a comment about why this is necessary. [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=470c66239ef03364 (closes issue DAHLIN-248) Reported-and-Tested-by: Vladimir Mikhelson <vlad@mikhelson.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10118 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10119 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-11dahdi_dynamic: Call dahdi_receive in rx packet handler.Shaun Ruffell
Currently dahdi_receive is called on all channels in the context of the master dynamic span. If one span (not the master) receive two packets before the master span received a packet, the older packet on the dynamic span would end up lost because the "readchunk" for the channels would be overwritten by the new packet. DAHLIN-245 Signed-off-by: Wagner Gegler <wagner@aligera.com.br> (License #6268) Changed dahdi_ec_chunk to dahdi_ec_span. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10110 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10116 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-11wctc4xxp, wcte12xp, wctdm24xxp: Remove check for HAVE_NETDEV_PRIVShaun Ruffell
DAHDI currently supports kernels >= 2.6.9. netdev_priv() has been in the mainline kernel since versions 2.6.6 so it's available in all the supported kernels. This change is needed to compile against the 3.1 kernel. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10096 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10115 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-09FPGA_1161 rev 9605: EC related bug fixesTzafrir Cohen
Astribank II FPGA firmware rev 9605. Includes two bug fixes: * Error in checking EC licenses when the license was for exactly 64 or 128 channels. * Proper handling of a slave FXO Astribank (in line with the quirks handling from r10019). Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10100 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-26wctc4xxp: Cleanup in-flight commands when halting due to hardware error.Shaun Ruffell
On one system I was seeing the board reset in the middle of a transaction. Any commands that were on the response list when this would happen would never be completed and the process would then be stuck in an uninterruptible sleep. This change also prevents the driver from sleeping in timer context, which would result in a kernel panic. This change at least lets an error message propogate back to the user. DAHDI-880 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10082 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-22wcb4xxp: Prevent null pointer dereference on spanconfigRuss Meyerriecks
In the rare case where spanconfig is called while there is pending data on the hdlc channel, the hdlc_getbuf interrupt could try to read from the hdlc buffer before the channel was fully setup. This could potentially result in a null pointer dereference. This condition has existed since the creation of the wcb4xxp driver. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10079 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-21dahdi: Drivers that do not support hwec should not report hwec is available.Shaun Ruffell
When attaching software echocans to a channel, if there is a hardware echocan available always give preference to them. Revision 9995 "dahdi: Always attach hwec to a channel if available" had an error where if a driver did not even support an option of hardware echocan, dahdi-base would take that to mean there always was a hardware echocan available on the channel. DAHLIN-246 Reported-by: Michael L. Young Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10070 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-21wctdm24xxp, wcte12xp: Run the ISR with interrupts disabled.Shaun Ruffell
Revision 9886, "wcte12xp: Use the in-hardirq versions of dahdi_receive/dahdi_transmit", changed the call into dahdi_receive and dahdi_transmit to use versions that assume local interrupts are already disabled. Not all versions of the kernel run interrupt service routines with all interrupts disabled and therefore it was possible to lock up a CPU with a recursive grab of the chan_lock. When LOCKDEP was enabled (on debug kernels) interrupt handlers were run atomically so this problem would only occur on pre 2.6.35 kernels that did not have lockdep enabled. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10066 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20wcte12xp: Fix bug when not recognizing loopup codesRuss Meyerriecks
The wcte12xp wasn't recognizing loopup/loopdown signals. The debounce was so long that it was preventing the loopup/loopdown signals from being registered properly. Removed the debounce entirely as it was unnecessary to the operation. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10064 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20wct4xxp: Fixed a bug where it sent loopdown signals foreverRuss Meyerriecks
The wct4xxp driver was resetting it's maint state to NONE prematurely. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10063 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20wct4xxp: Fix compilation when VPM_SUPPORT is not defined.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10061 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20oct612x: Increase the size of some of the instance variables.Shaun Ruffell
Revision 9750 "wct4xxp: Reduce the memory footprint of the hardware echocanceler" reduced the number of bits used to store some structure members. Some of the new field lengths were unable to store all the possible values the API as used assigned to the fields, resulting in channels never entering power down mode when they were disabled like they were previously. The change for byEchoOperationMode was found in testing the operation of the VPMOCT032 which currently uses the same code. The others were done via a review of the API doc. This change represents negligable risk and contains no logic changes. It only increases the memory footprint of the API instance in the kernel. Signed-off-by: Doug Bailey <dbailey@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10060 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20get registration_mutex at free_pseudoTzafrir Cohen
Make sure that the call to dahdi_chan_unreg() in free_pseudo() is protected by the registration_mutex, like the other calls to that function. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-By: Oron Peled <oron.peled@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10056 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: increase command queue lenge to 1000Tzafrir Cohen
Required by CAS in latest (2.5) DAHDI versions. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10055 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: make quirk bit flags unsignedTzafrir Cohen
This avoids a nag about a meaningless single-bit signed int. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10054 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: PRI_timing_priority can be static.Tzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10053 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: rate limit queue overflow messagesTzafrir Cohen
If the CPU becomes overly busy, merely printing the "Overflow in the recieve_queue" messages becomes CPU-intensive on its own right. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10052 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-18wcte12xp: Close a potential race on driver unload.Shaun Ruffell
The shutdown logic requires that all CPUs see that the INITIALIZED bit has been cleared. Otherwise it may be possible for the workqueue to run after the hardware resources have been released. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10047 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-12xpp: install Octasic frmware if it's thereTzafrir Cohen
If the OCT6104E-256D.ima Octasic firmware was downloaded to the build directory, install it over with the rest of the firmware files. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10038 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-12xpp: Demote notices for HWEC create/free to debugTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10037 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-12dahdi: Add dynamic dahdi parameter hwec_overrides_swec.Tzafrir Cohen
If set to true (default) a HWEC, if available on the channel, takes priority over any software echocan configured in /etc/dahdi/system.conf. This has historically been the default behavior in all released versions of DAHDI that support module echocans. Otherwise, hwec_overrides_swec is set to false, HWEC is chosen only via the "echocanceller=hwec" directive. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-By: Oron Peled <oron.peled@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10036 a0bf4364-ded3-4de4-8d8a-66a801d63aff