2011-03-31 Shaun Ruffell * dahdi-linux version 2.4.1.1 released. 2011-03-15 19:15 +0000 [r9828] Shaun Ruffell * wctdm24xxp: Fix regression with LEDS on TDM410. 2011-03-03 Shaun Ruffell * dahdi-linux version 2.4.1 released. 2011-02-11 17:52 +0000 [r9757-9760] Shaun Ruffell * build_tools/make_version: make_version: Use 'git rev-parse' if only looking for a sha5. Different versions of git have variability in how the log output looks. Instead of git log, we can use git rev-parse directly. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9475 * build_tools/make_version: make_version: svn and git metadata directory not checked properly. (closes issue #16143) Reported by: Max Khon Signed-off-by: Kinsey Moore Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9418 * build_tools/make_version: make_version: '[[' -> '[' since it's not a bash script. '[[' is a bash construct specifically, yet #!/bin/sh is at the top of the file. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-by: Russ Meyerriecks Acked-by: Tzafrir Cohen Review: https://reviewboard.asterisk.org/r/940/ Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9408 * Makefile, build_tools/make_version: dahdi: Generate include/dahdi/version.h when building in a git repository. If building within a git repository search the last log message for a 'git-svn-id'. If found, the commit has a corresponding svn revision number and we will use the SVN-xxx-rxxx revision form. Otherwise use the output of 'git describe --long --always --tags --dirty=M' as the version. Signed-off-by: Shaun Ruffell Acked-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9396 2011-02-10 16:29 +0000 [r9746-9755] Shaun Ruffell * drivers/dahdi/wct4xxp/vpm450m.c: wct4xxp: Do not lock interrupts while loading the VPM firmware. Since the oct6100 API consumes less stack there is no longer a danger of overflowing our stack during load. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9752 * drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c: wct4xxp: Reduce stack usage in oct612x API. Reduce the stack usage by replacing the mOCT6100_RETRIEVE_NLP_CONF_DWORD and mOCT6100_SAVE_NLP_CONF_DWORD macros with functions. Some compilers do a better job of optimizing the local variables declared in those macros than others. For example, with gcc 4.3.0, running ]# make stackcheck | grep Oct6100 | head -n 20 | sed -e 's/^0\S* //g' | uniq Before: Oct6100ApiWriteVqeNlpMemory [wct4xxp]: 1112 Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:520 Oct6100ApiSetChannelLevelControl [wct4xxp]: 392 Oct6100ApiBridgeEventRemove [wct4xxp]: 344 Oct6100ApiDebugChannelOpen [wct4xxp]: 312 Oct6100ApiWriteVqeAfMemory [wct4xxp]: 296 Oct6100ApiSetChannelTailConfiguration [wct4xxp]:264 Oct6100ApiRandomMemoryWrite [wct4xxp]: 248 Oct6100ApiTransferToneEvents [wct4xxp]: 248 Oct6100ApiModifyChannelStructs [wct4xxp]: 232 After: Oct6100ApiBridgeEventRemove [wct4xxp]: 344 Oct6100ApiDebugChannelOpen [wct4xxp]: 312 Oct6100ApiRandomMemoryWrite [wct4xxp]: 248 Oct6100ApiTransferToneEvents [wct4xxp]: 248 Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:248 Oct6100ApiModifyChannelStructs [wct4xxp]: 232 Oct6100ApiBridgeRemoveParticipantFromChannel [wct4xxp]:216 Oct6100ApiWriteVqeNlpMemory [wct4xxp]: 200 Oct6100ApiInitChannels [wct4xxp]: 168 Oct6100ApiProgramNLP [wct4xxp]: 168 Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9751 * drivers/dahdi/oct612x/include/oct6100api/oct6100_chip_open_inst.h, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c, drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_inst.h, drivers/dahdi/wct4xxp/vpm450m.c, drivers/dahdi/oct612x/include/oct6100api/oct6100_defines.h, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c: wct4xxp: Reduce the memory footprint of the hardware echocanceler. This saves ~300K of kernel memory for each quad or dual span VPM. Due to the fact that this change disables caching of the NLP words (among other things), the time to disable the echocans appears to have increased by ~1ms. Before this change: ======================================================================= 0) ! 356.498 us | vpm450m_setecmode(); <--- disable 0) ! 387.762 us | vpm450m_setecmode(); <--- enable 0) ! 429.839 us | vpm450m_setecmode(); <--- disable ]# echo 1 > /proc/sys/vm/drop_caches && free -k total used free shared buffers cached Mem: 2005352 228368 1776984 0 132 5540 -/+ buffers/cache: 222696 1782656 Swap: 983036 0 983036 After this change: ======================================================================= 0) ! 1109.515 us | vpm450m_setecmode(); <--- disable 0) ! 339.017 us | vpm450m_setecmode(); <--- enable 0) ! 1431.460 us | vpm450m_setecmode(); <--- disable ]# echo 1 > /proc/sys/vm/drop_caches && free -k total used free shared buffers cached Mem: 2005352 228080 1777272 0 112 5484 -/+ buffers/cache: 222484 1782868 Swap: 983036 0 983036 Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9750 * include/dahdi/kernel.h: dahdi: Add '#include ' in dahdi/kernel.h linux/kobject.h was removed from linux/fs.h in upstream commit 57cc721. Add it back in in order to pick up the linux/kref.h include. Reported-by: Raoul Bönisch Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9697 2011-02-09 12:45 +0000 [r9745] Tzafrir Cohen * build_tools/live_dahdi: live_dahdi: Fix regression from r9508 Signed-off-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9532 2011-01-31 18:09 +0000 [r9723-9726] Shaun Ruffell * /: syncing svnmerge-integrated. * drivers/dahdi/dahdi-base.c: dahdi: Experimentally remove dependency on the Big Kernel Lock. With the release of Linux 2.6.37, the Big Kernel Lock is now a compile time option. This change adds a mutex around the one place in the code that we already knew was dependent on the lock_kernel/unlock_kernel calls for serialization and drops the other calls to lock_kernel/unlock_kernel if CONFIG_BKL is not defined. This is *mostly* the dahdi-no-bkl.patch with a few minor whitespace changes, the global_dialparmslock made static, and a warning added to let people know they are running an experimental configuration. (issue #18604) Reported by: jkroon Patches: dahdi-no-bkl.patch uploaded by jkroon (license 714) Signed-off-by: Jaco Kroon Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9721 * drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Remove code for unsupported modules. The VPM100 and S100M modules are no longer supported. Analog cards supported by the wctdm24xxp are still compatible with the S110 and VPMADT032 modules. DAHDI-302 Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9720 * Makefile: dahdi: Add '+' on KMAKE definition to enable parallel make. Now 'make -j 5' works the way it's supposed to on multi core machines. On one test machine build times went from ~33 seconds to ~11 seconds. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-by: Russ Meyerriecks Acked-by: Tzafrir Cohen Review: https://reviewboard.asterisk.org/r/940/ Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9409 2011-01-27 21:09 +0000 [r9702] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Fix for bugs in timing selection when B410P card is not the first configured card in system. 2011-01-21 05:35 +0000 [r9652-9696] Shaun Ruffell * /: Updating the svnmerge-integrated information. * drivers/dahdi/wct4xxp/base.c: wct4xxp: Perform an extended reset on PCI-Express cards by default. Extended reset is needed primarily with the PCI express version of the dual and quad-span cards. Enable it by default for those cards and allow it to be forced on or off globally for the driver as a compile time option. The options to force it should be able to come out if there aren't any further reports that the compile time option needs to be set. DAHDI-773 Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9635 * README: README: clarify required kernel configuration Signed-off-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9619 * drivers/dahdi/dahdi-base.c: dahdi: Add error if CONFIG_BKL is not defined Might help when someone wonders why they are now getting errors about "lock_kernel" being undefined. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9592 * drivers/dahdi/wcte12xp/base.c: wcte12xp: Remove unused functions from t1_span_ops. 'open' and 'close' were already empty. 't1xxp_shutdown' only cleared DAHDI_FLAGBIT_RUNNING which is already done in dahdi-base.c after calling shutdown. Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9318 * drivers/dahdi/wcfxo.c, drivers/dahdi/tor2-hw.h, drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/pciradio.c, include/dahdi/kernel.h, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wcte11xp.c, drivers/dahdi/wct1xxp.c, drivers/dahdi/wctc4xxp/base.c, drivers/dahdi/wctdm.c, drivers/dahdi/wctdm24xxp/base.c: "struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE" 2.6.25 added the DEFINE_PCI_DEVICE_TABLE macro to make sure that the pci_device_id tables are put into the correct section in the binary. Convert all the places where the tables were defined to use them. This is linux-2.6 commit where the change went in along with the rationale: 90a1ba0c5e39eeea278f263c28ae02166c5911c8 Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9584 * include/dahdi/kernel.h: dahdi: If mutexes are not available use semaphores instead. Mutexes were added in 2.6.16. This will allow future changes to use the mutex API without breaking on pre 2.6.16 kernels. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9579 * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: HDLC packets do not pass over D-channel. dahdi/wcb4xxp driver used with Digium Wildcard B410 quad-BRI PCI card unable to communicate with another ISDN device (ISDN phone, another port of B410). It appears that B-channels are capable to transport data, but D-channel is not. Debug output added into the driver shows that packets are transmitted to the D-channel, but no packets are received. Further investigation shows that no interrupts received from Rx FIFO associated with D-channel, although packets are delivered to the FIFO. I've found that problem is in improper usage of chan->chanpos while indexing the fifo index (bspan->fifos): chanpos starts from 1 and fifos starts from 0. Therefore, garbage read instead of fifo number. (closes issue #14834) Reported by: vvv Patches: dahdi-linux-complete-2.2.0-rc1.patch uploaded by vvv (license 741) Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9555 * drivers/dahdi/vpmadt032_loader/dahdi_vpmadt032_loader.c: wcte12xp, wctdm24xxp: Do not call pci_set_drvdata after device initialization. Instead of using pci_set_drvdata embed the 'struct voicebus_operations' directly in the context so we can use container_of to find the context. This resolves a problem where the 'remove_one' callback gets an invalid pointer to 'struct t1' if the VPMADT032 is in the middle of a reload when the module is unloading. DAHDI-783. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9554 * drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Disable PCI read-line multiple command. There are some platforms where the read-line multiple transaction causes packets to be dropped in the voicebus pipeline. The only observable behavior is that packets just go "missing" in the pipeline. This also only appears to affect PCI cards. A typical 'symptom' of this problem is you may see IRQ misses increasing without any corresponding "bumps" in latency in the kernel message log. Normally, IRQ misses are correlated to latency bumps since that is an indication that the host was not able to service the card interrupt in a timely fashion. DAHDI-510 DAHDI-774 Signed-off-by: Shaun Ruffell Signed-off-by: Russ Meyerriecks Acked-by: Kinsey Moore Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9542 * drivers/dahdi/wct4xxp/vpm450m.c: wct4xxp: Close a memory leak in the VPM450 error path. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-By: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9539 * drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Lock interrupts when recovering from an underrun. This reduces the chance that another interrupt will interfere with the recovery process. Otherwise it is possible that the hardware advances past the position that we think it is currently at. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-By: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9535 * drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Add more descriptive message on a failed reset. Reading 0xffffffff from the registers is a different error than just not coming out of reset. Add a little extra debugging information. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-By: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9534 * drivers/dahdi/wcte12xp/base.c, include/dahdi/kernel.h: wcte12xp: Use interruptible waits to decrease impact on load average. The wcte12xp does all the checking for alarm in a user space workqueue. Most of this time is spent sleeping waiting for reads from the framer to complete. Tasks in uninterruptible sleeps are added to running tasks for the purposes of calculating load average. This change makes the sleeps interruptible so as to not affect the load average as much. For example, the following command will load and configure the driver and then print the load average every 10 seconds. ]# modprobe wcte12xp && dahdi_cfg && ((x=12)); while [[ $x -gt 0 ]]; do cat /proc/loadavg; sleep 10; let x=$x-1; done With this change: 0.29 0.10 0.02 1/101 29945 0.24 0.10 0.02 1/101 29967 0.20 0.09 0.02 1/101 30019 0.17 0.09 0.02 1/101 30041 0.15 0.09 0.02 1/101 30062 0.12 0.08 0.02 1/101 30085 0.10 0.08 0.02 1/101 30107 0.09 0.08 0.02 1/101 30129 0.07 0.08 0.02 1/101 30151 0.14 0.09 0.02 1/101 30173 0.12 0.09 0.02 1/101 30195 0.10 0.08 0.02 1/101 30217 (and I've seen it get down to 0.0) Before this change: 0.57 0.22 0.07 1/101 31920 0.48 0.21 0.07 1/101 31942 0.48 0.22 0.07 1/101 31964 0.48 0.23 0.08 1/101 31986 0.41 0.22 0.07 1/101 32008 0.42 0.23 0.08 1/101 32030 0.43 0.24 0.08 1/101 32054 0.45 0.25 0.09 1/101 32076 0.45 0.25 0.09 1/101 32098 0.46 0.26 0.10 1/101 32120 0.47 0.27 0.10 1/101 32172 0.39 0.26 0.10 1/101 32194 (closes issue #18142) Reported by: foxfire Tested by: foxfire Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9512 * drivers/dahdi/dahdi-base.c: dahdi: Prevent unloadable module on failed open. If chan->span->ops->open() fails then the reference count of the module implementing the board driver will not be decremented. The result is a module that would always be "in use" and unloadable. This change makes sure to release that reference when open failed. (closes issue #18422) Reported by: avarvit Signed-off-by: Shaun Ruffell Acked-by: Angelos Varvitsiotis Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9510 * build_tools/live_dahdi: live_dahdi: fix usage of xpp.conf Link live/usr/share/dahdi/xpp.conf from live/etc/dahdi/xpp.conf in 'config'. This makes the 'live' xpp.conf used rather than the global xpp.conf . Signed-off-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9508 * drivers/dahdi/xpp/card_pri.c: xpd_pri: Remove pointless hooksig span op If the span reports that it supports hooksig, DAHDI may fail to use RBS. So remove a call to that stub function. Signed-off-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9506 * drivers/dahdi/xpp/card_pri.c: xpd_pri: ignore DAHDI_VMWI and DAHDIVMWI_CONFIG This fixes an annoying, though harmless issue: if Asterisk decides to send voicemail messages to a channel (CAS, configured as FXS), We can't do anything useful with them. So ignore them to avoid scary-looking messages (from report_bad_ioctl()). Signed-off-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9505 * drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Close a few potential resource assignment leaks. There were some routes through the failure paths in __voicebus_init() where a registered memory region was not subsequently released. This change closes those paths. The result would be on subsequent loads of the driver after hitting the failure condition you would see "IO Registers are in use by another module." in dmesg. request_mem_region/release_mem_region should most likely be converted to devm_request_region and devm_release_region introduced in 2.6.20 (commit 9ac7849e35f705830f7b016ff272b0ff1f7ff759) which was introduced for reasons just such as this. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9503 * build_tools/live_dahdi: live_dahdi: only check for TOOLS_DIR when used Only check that TOOLD_DIR is valid when it is actually needed (configure, install, config). This allows not checking for it with *load on a rsync-ed copy. Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9479 * drivers/dahdi/hpec/dahdi_echocan_hpec.c, drivers/dahdi/xpp/xpp_usb.c, include/dahdi/kernel.h, drivers/dahdi/wctdm24xxp/xhfc.c, drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/wctc4xxp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/xpp/xbus-core.c: Remove mutex emulation Using semaphores as mutexes was removed from the kernel in 4882720b267b. Just use straight semaphores now. 'DECLARE_MUTEX()' -> 'DEFINE_SEMAPHORE()' and 'init_MUTEX()' -> 'sema_init()'. Signed-off-by: Shaun Ruffell LKML-Reference: <20100907125057.562399240@linutronix.de> Acked-by: Tzafrir Cohen Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9464 * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Detect FXS modules based on the 3210 SLIC. Fixes a regression introduced in revision 5916 where FXS modules based on the 3210 were not properly detected. (closes issue #18184) Reported by: bsexton Patches: dahdi-fxo-detect.diff uploaded by bsexton (license 1133) Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9456 * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Leave FXO (DAA) always in full-wave ring detect mode. In zaptel commit 4096 [1], all the debouncing of ring signals were moved into software as opposed to using the ring validation circuit in DAA. That commit failed to remove the initial check and set of the ring validation circuit. [1] http://svn.digium.com/view/zaptel?view=revision&revision=4096 (closes issue #16894) Reported by: rde42 Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-by: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9441 * drivers/dahdi/firmware/Makefile: dahdi: '-o' -> '--no-same-owner' in drivers/dahdi/firmware/Makefile It appears that in Centos 4, the version of tar doesn't like the -o flag, but will honor the --no-same-owner flag. (closes issue #16063) Reported by: tzafrir Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-by: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9434 * drivers/dahdi/voicebus/voicebus.c: wcte12xp, wctdm24xxp: Do not rely on polling main memory. The voicebus library by default configures the PCI interface to poll the descriptor ring for available buffers. There are some platforms like the Intel SG3420P motherboard where this does not appear to be sufficient. Writing to the transmit demand poll register resolves this problem on these troublesome platforms. DAHDI-700 DAHDI-702. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9397 * drivers/dahdi/wct4xxp/base.c: wct4xxp: Drop usage of 'volatile' qualifier. The registers on the device are already accessed with readl/writel and the readchunk and writechunk are mapped into coherent DMA region. The contents of those buffers should not be changing in the middle of any transmit/receive prep call. Signed-off-by: Shaun Ruffell Acked-by: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9400 * include/dahdi/dahdi_config.h: dahdi: Make CONFIG_DAHDI_PPP off by default. Before CONFIG_DAHDI_PPP can be on by default, some more work needs to be done to ensure that the ppp_generic module is not always loaded and that all channels do not carry around all the PPP members unnecessarily. (issue #17990) Signed-off-by: Shaun Ruffell Acked-by: Kevin P. Fleming Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9392 * include/dahdi/dahdi_config.h: dahdi: Fix for when PPP support is compiled as a kernel module. When compiling dahdi-linux I expect ppp support to be compiled in even if the kernel config has PPP configured as a module. (closes issue #17990) Reported by: jkroon Patches: dahdi-config-ppp.diff uploaded by jkroon (license 714) Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9328 * drivers/dahdi/voicebus/GpakCust.c: vpmadt032: Remove potential endless waits when resetting. It is possible to softlock if the board stops delivering interrupts in the middle of a reset. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9332 * drivers/dahdi/voicebus/GpakCust.c: vpmadt032: Honor the CONFIG_DAHDI_NO_ECHOCAN_DISABLE flag. Setting this configuration option would not have had any impact when a hardware echo canceler was in use. Signed-off-by: Shaun Ruffell Acked-by: Kinsey Moore Acked-by: Russ Meyerriecks Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9432 * drivers/dahdi/xpp/init_card_4_30: xpp: Fixes init error for PRI devices with < 4 ports Fixes a regression singce r8873: if pri_protocol is not explicitly set (in /etc/dahdi/xpp.conf) and the device has (licences for) less than 4 "PRI" (E1/T1) ports, the initialization script will attempt to read from a non-existing SysFS file, and bail out, resulting in a the device failing to initialize. For those non-existing ports we can just skip that part of the initialization. So we just skip it. Work around: explicitly set pri_protocol to E1 or T1, as needed. Xorcom Rev: 8047. Ticket: 1334. Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9430 * drivers/dahdi/dahdi-base.c, include/dahdi/kernel.h: dahdi: Anonymous member in dahdi_echocan_events union. Make explicit what part of the union is being accessed. (closes issue #15908) Reported by: ys Patches: dahdi-dahdi_echocan_events.diff uploaded by ys (license 281) Signed-off-by: Kinsey Moore Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9421 * drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_echocan_kb1.c, drivers/dahdi/dahdi_echocan_mg2.c: dahdi: Fix 'void *' pointer arithmetic warnings. (closes issue #15927) Reported by: Max Khon Patches: dahdi_echocan2.diff uploaded by Max Khon (license 884) void2.diff uploaded by Max Khon (license 884) Signed-off-by: Kinsey Moore Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9420 * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Add optional FXO digital loopback if DEBUG is defined. This module parameter will allow patgen/pattest to be used only on FXO ports. *ALL* FXO ports will be placed in digital loopback mode when set. The current intent is for this to be removed as an optional module parameter when there is a channel by channel representation in sysfs. Otherwise, a new IOCTL would have to be defined and a tool written in order to support this. DAHDI-696. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9391 * drivers/dahdi/dahdi-base.c: dahdi: Be more tolerant of surprise removal of channels. Enable DAHDI to detect if an operation on a file handle refers to a channel that may have been unregistered. This can occur, for example, when a board driver is hot-swapped out in a live system. This patch ensures that file->private_data is always properly set for any open channel, and it's set back to NULL when a channel is unregistered. This way file->private_data can be used to check whether it's valid to perform an operation on the channel. (NOTE: There is still a race condition here if the driver was unbound on one processor during the window of time between when file->private_data was checked and the system call finishes). Also, since DAHDI should only return -ENODEV on read or write when there was a surprise device removal on a running system this sleep can prevent the system from becoming unresponsive if the userspace application does not check for the -ENODEV error and constantly tries to call read with elevated privileges. (issue #17669) Reported by: tzafrir Tested by: sruffell Review: https://reviewboard.asterisk.org/r/905/ Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9353 * drivers/dahdi/voicebus/voicebus.c: wcte12xp, wctdm24xxp: Add call to 'pci_set_mwi' on initialization. I have yet to personally come across a system where this actually changes the observable behavior, but it certainly seems like the sane thing to do and I would rather not let this float around as a patch when I can just merge it in. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9326 * drivers/dahdi/voicebus/voicebus.c: wcte12xp, wctdm24xxp: Remove redundant vb_enable_io_access. These three bits are already set by 'pci_enable_device' and 'pci_set_master' calls. Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9325 * drivers/dahdi/dahdi-base.c: dahdi-base: All channels for a span are now unconfigured on shutdown Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9317 * drivers/dahdi/dahdi_dummy.c: dahdi_dummy: #include for kzalloc and friends. Fix the same issue as in r8550 for dahdi_dummy.c (closes issue #17959) Reported by: glen201 Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9307 * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte11xp.c: wcte11xp, wcte12xp: Fix a long-standing issue with shutdown Upon shutdown, both drivers would attempt to power down external interfaces, but never attempted to bring them back up when the span was restarted. Removing that code allows the driver to work properly until a better solution can be found. Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9316 * README: README: Remove references to dahdi_dummy. Since dahdi_dummy is no longer required remove the references from README. (issue #17959) Reported by: glen201 Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9308 * drivers/dahdi/dahdi-base.c: dahdi: Fix compilation error when CONFIG_DAHDI_NET is defined. Kernel interface for network devices changed. This is the patch from issue plus a few trivial checkpatch.pl formatting changes (minus the >80 column warnings). (closes issue #17857) Reported by: msink Patches: dahdi_net-v2.patch uploaded by msink (license 1103) Signed-off-by: Shaun Ruffell Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9247 * drivers/dahdi/wct4xxp/base.c: wct4xxp: Update span-local struct with timing info dahdi_tool was incorrectly reporting all spans to be in local timing mode. This is because the driver tracks which span it's timing syncs to, within the card local struct "wc". We have to manually go through and copy timing updates to the span local structs because this is what dahdi_tool actually reads. dahdi-526 Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9312 * /: Turning on merge tracking. * / (added): Creating 2.4 branch. 2010-08-31 Shaun Ruffell * dahdi-linux version 2.4.0 released. 2010-08-27 21:59 +0000 [r9204-9205] Shaun Ruffell * drivers/dahdi/wct4xxp/base.c: wct4xxp: Moving the transmit short detection behind debug module param. This needs some more testing before it's on by default. If the card is otherwise functioning, these messages may be confusing to the user. If the card is not functioning, the driver can be reloaded with debug to check for this condition. Signed-off-by: Shaun Ruffell * drivers/dahdi/wct4xxp/base.c: wct4xxp: Removed transmit line open fault detection The transmit line open detection was pretty weak in that it trips upon receiving 32 consecutive zeroes. We were getting false positives from looping and other miscellaneous functions. Removing this feature, but leaving the transmit line short detector as it actually detects physical shorts. From: Russ Meyerriecks 2010-08-24 18:44 +0000 [r9188] Russ Meyerriecks * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Added card level timing information in sysfs For kernels >= 2.6.18, each individual card has it's local timing hung off the pci device in the sysfs tree. dahdi-626 2010-08-20 01:12 +0000 [r9168] Russ Meyerriecks * drivers/dahdi/dahdi-base.c: dahdi: Uncross dest if dacs is not supported between two different chans. This removes a confusing message introduced in 9120 when bridging channels on two differnt cards. i.e. "dahdi: unable to cross connect 'TE4/0/2/2' with 'WCTDM/0/0'" "dahdi: unable to cross connect 'WCTDM/0/0' with 'TE4/0/2/2'" 2010-08-19 18:03 +0000 [r9167] Shaun Ruffell * include/dahdi/kernel.h, drivers/dahdi/wctdm24xxp/base.c: dahdi: move 'dahdi_is_digital_span' back into wctdm24xp driver. Older kernels do not like the 'bool' type and I cannot just add it into include/dahdi/kernel.h without compile messages in the xpp driver where bool is defined directly. Since the wctdm24xxp driver is the only place using that function, I just moved it back there for now. This fixes a regression introduced in 9130. 2010-08-18 16:56 +0000 [r9162-9163] Tzafrir Cohen * build_tools/live_dahdi: live_dahdi: shutdown dynamic spans to to avoid panic If we fail to shutdown the dynamic spans, we may get a panic on the next load. This attempts to guess when we need to unload spans at unload. * build_tools/live_dahdi: live_dahdi: allow testing dynamic local spans Adds support for configuring dynamic spans through live_dahdi. To enable, set in live/live.conf: DYNAMIC_LOC="yes" It will generate an extra live/etc/dahdi/dynamic.conf (if one does not exist) and use it to configure extra dynamic spans in the system. Note that ATM this will make the system hang pretty easily at 'load' time. 2010-08-18 Shaun Ruffell * dahdi-linux version 2.4.0-rc1 released. 2010-08-17 17:15 +0000 [r9144-9145] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c: wcte12xp: Clean up -vpm workqueue if there is not a VPMADT032 installed. DAHDI-681. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h, drivers/dahdi/voicebus/voicebus.h: wcte12xp, wctdm24xxp: Add compile time option CONFIG_VOICEBUS_ECREFERENCE. Add compile time option to improve the reference signal provided to software echo cancelers. The intent here is for this functionality to become the default behavior but more testing and work on the edge cases is needed. It's being brought in now as a compile time option since there have been reports that it helps in some environments. Instead of using two buffers, which means that at best we're two milliseconds behind, use a circular buffer where audio data is written on the transmit side and read on the receive path. In this way high latency values will not interfere with the operation of software echo cancelers. DAHDI-291. DAHDI-387. This work was originally on: http://svn.asterisk.org/svn/dahdi/linux/team/sruffell/improved_ecreference@9143 and includes a generic kfifo replacement by Matt Fredrickson. 2010-08-16 21:43 +0000 [r9143] Russ Meyerriecks * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Set the companding mode on the analog ports in fixup. Fixes a regression from 9101 'wctdm24xxp: Added "auto" companding option' where the analog modules were not defaulted to alaw properly when a digital module is on an Hx8. This could result in very poor audio since the modules were providing ulaw data, but dahdi-base believed the audio was in alaw when converting to signed linear. 2010-08-16 18:43 +0000 [r9142] Shaun Ruffell * drivers/dahdi/dahdi_transcode.c: dahdi_transcode: No need for ioctl when unlocked_ioctl is available More work to kill the BKL (Big Kernel Lock) http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10041d2d14688e207d0d829095147aa82c1f211b 2010-08-13 19:38 +0000 [r9130-9138] Shaun Ruffell * drivers/dahdi/oct612x/include/oct6100api/oct6100_mixer_pub.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_tsst_inst.h (added), drivers/dahdi/oct612x/apilib/bt (added), drivers/dahdi/oct612x/include/apilib/octapi_largmath.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_playout_buf_pub.h (added), drivers/dahdi/oct612x/include/digium_unused.h (added), drivers/dahdi/oct612x/include/apilib/octapi_llman.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_events_inst.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_debug_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_tlv_inst.h (added), drivers/dahdi/oct612x/include/octtypewin.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_phasing_tsst_inst.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_chip_stats_pub.h (added), drivers/dahdi/oct612x/include/octosdependant.h (added), drivers/dahdi/oct612x/include/octrpc/oct6100_rpc_protocol.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_chip_open_pub.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_adpcm_chan_inst.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_phasing_tsst_pub.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_pub.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c (added), drivers/dahdi/oct612x/get_discards (added), drivers/dahdi/oct612x/include/apilib/octapi_bt0.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_apimi (added), drivers/dahdi/oct612x/apilib/llman (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_interrupts_priv.h (added), drivers/dahdi/oct612x/apilib/bt/octapi_bt0_private.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_apimi.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c (added), drivers/dahdi/oct612x/include/octdef.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_tsi_cnct_inst.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_api_inst.h (added), drivers/dahdi/oct612x/include (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_tsst_priv.h (added), drivers/dahdi/oct612x/apilib/llman/octapi_llman.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_tsi_cnct_pub.h (added), drivers/dahdi, drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_events_priv.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_mixer_inst.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_tlv_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_adpcm_chan_pub.h (added), drivers/dahdi/oct612x/octdeviceapi (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_memory_priv.h (added), drivers/dahdi/oct612x (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_conf_bridge_inst.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_remote_debug_inst.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_chip_open_inst.h (added), drivers/dahdi/oct612x/include/octrpc (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_inst.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_tone_detection_pub.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_events_pub.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_errors.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_debug_inst.h (added), drivers/dahdi/oct612x/apilib/largmath (added), drivers/dahdi/oct612x/apilib (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_interrupts_pub.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_playout_buf_inst.h (added), drivers/dahdi/oct612x/octasic-helper (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_debug_pub.h (added), drivers/dahdi/oct612x/include/octrpc/rpc_protocol.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c (added), drivers/dahdi/oct612x/include/oct6100api (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_chip_stats_inst.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api (added), drivers/dahdi/oct612x/apilib/bt/octapi_bt0.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_tone_detection_inst.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_mixer_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_version.h (added), drivers/dahdi/oct612x/Makefile (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_apiud.h (added), drivers/dahdi/oct612x/include/octtypevx.h (added), drivers/dahdi/oct612x/apilib/largmath/octapi_largmath.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c (added), drivers/dahdi/oct612x/include/octmac.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_remote_debug_pub.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_conf_bridge_pub.h (added), drivers/dahdi/oct612x/include/apilib (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_api.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api (added), drivers/dahdi/oct612x/apilib/llman/octapi_llman_private.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_interrupts_inst.h (added), drivers/dahdi/oct612x/include/oct6100api/oct6100_defines.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_chip_open_priv.h (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c (added), drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_channel_priv.h (added), drivers/dahdi/oct612x/include/octtype.h (added), drivers/dahdi/oct612x/test.c (added): wct4xxp: Move 'oct612x' from an svn:external directly into dahdi-linux. From http://svn.digium.com/svn/octasic_api/oct612x/tags/PR49-03/software@44 This is only currently maintained as part of DAHDI linux so it makes sense to have it directly in DAHDI linux. This obliterates any chance of having 0 checkpatch.pl errors between the 2.3.0 and 2.4.0 releases. Oh well... Signed-off-by: Shaun Ruffell * drivers/dahdi/wctdm24xxp/xhfc.c, drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Set the 'spantype' for the digital spans. Defaults to "TE" but can be set by software to "NT" by dahdi_cfg. Signed-off-by: Shaun Ruffell * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: 'is_span_digital' -> 'dahdi_is_span_digital' Signed-off-by: Shaun Ruffell * include/dahdi/user.h, include/dahdi/kernel.h: dahdi: Make it clear that 'linecompat' can be used to identify analog spans. The linecompat member can be used by a span to identify the global-to-the-span signalling types supported. Analog spans do not support any span-global signalling and therefore linecompat should always be 0. Signed-off-by: Shaun Ruffell 2010-08-12 19:38 +0000 [r9127] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Timing fix where handling math in find_sync_src() would return -2 instead of -1 in cases where automatic timing sync was specified. 2010-08-11 05:21 +0000 [r9120-9124] Shaun Ruffell * drivers/dahdi/dahdi-base.c: dahdi: Do not error when uncrossing a channel if there is no 'dacs' callback. The previous commit was making all chan configs fail on a span that did not have a dacs callback. Also add some documentation for 'dahdi_chan_dacs' and make it more explicit when we're disabling cross connect. * drivers/dahdi/dahdi-base.c: dahdi: "Unable" -> "Unable to". Proper sentences are always preferred. Thanks kpfleming :) * drivers/dahdi/dahdi-base.c: dahdi: Fix oops when trying to dacs channels with a null dacs function. 2010-08-09 14:43 +0000 [r9117] Tzafrir Cohen * include/dahdi/kernel.h: work around RHEL backport of strcasecmp RHEL/Centos 5.4 kernels broke after the latest strcasecmp backport. So skip them. 2010-08-06 22:12 +0000 [r9097-9105] Russ Meyerriecks * drivers/dahdi/wct4xxp/base.c: wct4xxp: minor checkpatch changes * drivers/dahdi/wct4xxp/base.c: wct4xxp: Added card level timing information in sysfs For kernels >= 2.6.18, each individual card has it's local timing hung off the pci device in the sysfs tree. dahdi-626 * drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Added "auto" companding option Added the "auto" option for the module parameter "companding". In auto mode its left up to each card to decide what companding mode it should be in. If a BRI module is installed, it set everything to alaw; ulaw is selected if no BRI module is installed. Also fixed a bug where forcing companding one way or the other wasn't affecting the BRI modules. dahdi-673 * drivers/dahdi/wctdm24xxp/base.c: wctdm24xp: Replaced alawoverride with companding Added the module parameter "companding" to eventually replace the current alawoverride parameter. Added some deprecated messages so current users will know to move over before we remove it entirely. dahdi-673 * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Renamed module parameter "alawoverride" to "companding" Renamed the module parameter "alawoverride" to "companding". The valid values for "companding" are now the strings "alaw" or "ulaw", instead of integers. dahdi-673 * drivers/dahdi/wct4xxp/base.c: wct4xxp: module param "extendedreset" now a compile option Due to the very small number of affected customers we have removed the module parameter "extendedreset" in favor of a compile time option "CONFIG_EXTENDED_RESET". dahdi-673 * include/dahdi/kernel.h: dahdi: Backport strcasecmp for kernels < 2.6.22 strcasecmp was brought into the kernel at v2.6.22 2010-08-06 18:27 +0000 [r9094] Shaun Ruffell * drivers/dahdi/dahdi-base.c: dahdi: Trivial spelling change. 2010-08-05 21:05 +0000 [r9090] Tzafrir Cohen * drivers/dahdi/dahdi-base.c: don't crash on disconnecting of AB This is a regression from r8985 . The temporary 'module' was there because the pointer 'chan' may become invalid after the close function. 2010-08-04 00:18 +0000 [r9087] Shaun Ruffell * drivers/dahdi/wctdm24xxp/xhfc.c, drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/wctdm24xxp/xhfc.h: wctdm24xxp: 'struct dahdi_span' is already embedded in the 'struct wctdm_span'. We cannot also embed it in struct b400m_span structure and expect container_of to work. This fixes a regression introduced in r8984. 2010-08-03 13:16 +0000 [r9082] Tzafrir Cohen * README: Proper Mantis category to use 2010-07-31 04:00 +0000 [r9059-9073] Alec L Davis * drivers/dahdi/wctdm.c: wctdm: Prevent FXS Proslic staying in "Forward/Reverse OnHookTransfer" during call Since the 3 second click after answering the call on an FXS port has been fixed issue# 15352, the side effect is that the Proslic during a call, still has the audio signal paths still powered on. Reading the Si3215 specs it reads that an extra ~20mA is consumed while in OHT mode. (issue #17764) Reported by: alecdavis Patches: wctdm_fxs_offhook.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Prevent FXS Proslic staying in "Forward/Reverse OnHookTransfer" during call [One-liner summary of changes] Now that the 3 second click after answering the call on an FXS port has been fixed, the side effect is that the Proslic during a call, still has the audio signal paths still powered on. Reading the Si3215 specs it reads that an extra ~20mA is consumed while in OHT mode. (closes issue #17764) Reported by: alecdavis Patches: wctdm24xxp_fxs_offhook.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis * drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wctdm24xxp/base.c: SLIC_LF_OPPENDING confict between wctdm_proslic_recheck_sanity() and set_lasttxhook_interruptible() Problem: 'wctdm_proslic_recheck_sanity()' is executed (4 times??) every ~256ms which monitors and clears the SLIC_LF_OPPENDING on fxs->lasttxhook when the LF state has been reached. 'set_lasttxhook_interruptible()' times out after 100ms waiting from the previous write to the SLIC_LF register, by waiting for SLIC_LF_OPPENDING to be cleared, thus the write will fail. Solution: adds wctdm_proslic_check_oppending which does the monitoring and clearing of SLIC_LF_OPPENDING, which is execute every 1ms. It also if the correct state is not reached within 100ms, resends the lasttxhook state. (closes issue #17724) Reported by: alecdavis Patches: wctdm24xxp_fxs_answer.diff4.txt uploaded by alecdavis (license 585) Tested by: alecdavis, sruffell * drivers/dahdi/wcb4xxp/Makefile, drivers/dahdi/wctdm.c: reverting: add curly braces to _write_8bits Against Kernel Coding Guidelines * drivers/dahdi/wctdm.c: add curly braces to _write_8bits 2010-07-29 21:51 +0000 [r9049-9056] Kinsey Moore * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/base.c: wct4xxp, wcte12xp: restrict signaling and line combinations to what actually works * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: reference B400Ms as BRI, correct a module alias, make the module description more accurate * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: only allow B400M modules on hybrid cards * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: correct references to "wildcard" and display the number of BRI spans and analog channels after detection * drivers/dahdi/dahdi-base.c: dahdi-base: display Reserved when a channel is unusable (has a sigcap of 0) * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/base.c: wct4xxp, wcte12xp: remove loobpack parameter, functionality provided by dahdi_maint * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: don't report about VPM100s if none are present and warn the user when flashing firmware * drivers/dahdi/wct4xxp/base.c: wct4xxp: increase consistency and decrease verbosity of kernel logging 2010-07-28 15:32 +0000 [r9034-9046] Shaun Ruffell * drivers/dahdi/voicebus/GpakApi.c: wcte12xp, wctdm24xxp: Minor cleanup 0 -> NULL * drivers/dahdi/tor2.c: tor2: Do not directly dereference I/O memory. Mainly to quiet a sparse warning, but this could be a real problem on some non x86 platforms. * drivers/dahdi/wctdm.c: wctdm: Fix signed one-bit fields. Thanks sparse. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Add __user annotation in copy_to_user call. Quiets sparse. * drivers/dahdi/wct4xxp/base.c: wct4xxp: Several minor changes to make sparse/checkpatch.pl happy. Make setup_chunks static, eliminate a dynamic array in the interrupt handler, don't cast away a memory region specifier, and don't initialize statics to 0. * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Trivial removal of some whitespace at the end of a line. Fixing formatting errors that have snuck in since the 2.3.0 release. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Trival formatting changes. Fixing up some of the formatting errors that crept in since the 2.3.0 release. * README: README: Trivial removal of whitespace at the end of lines. * drivers/dahdi/dahdi-base.c: dahdi: Unlock the dahdi_span.lock when passed an invalid DAHDI_MAINT command. Fixes the following sparse warning "warning: context imbalance in 'dahdi_ctl_ioctl' - different lock contexts for basic block". Thank you sparse! * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Add compile-time option to always poll the interface. Added as a workaround for a system which was not routing interrupts properly and therefore is off by default. Candidate for reversion in a couple of years. DAHDI-627. * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Move from I/O space to memory-mapped registers. Certain platforms have trouble with the registers mapped from I/O space. DAHDI-627. * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Do not ACK response packets without a corresponding request. Closes a small window of opportunity where system conditions prevent the driver from servicing it's receive ring within the timeout period of a request, and then in the middle of retrying the request (after the request was already removed from the "waiting_for_response" list) the driver process the response, it's possible for the driver to ACK the response without ever pairing it up with the original request. The result being that the DTE will then ignore our attempts to retry the original request. DAHDI-430. * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Allow read to return more than one packet of data. As of this writing codec_dahdi (Asterisk module) will not call 'read' on a transcoder channel more often than it calls 'write'. When a translation path is setup that will transcode from g723 to g729, write is called every 30ms and each 'read' returns only 20ms of data. The end result is audio that slowly becomes increasing delayed. Since codec_dahdi calls the system read function with a buffer large enough to hold more than one packet this can prevents packets from backing up on the channel. DAHDI-582 2010-07-28 10:30 +0000 [r9025-9028] Tzafrir Cohen * drivers/dahdi/xpp/card_pri.c: Ignore Reg. 0x70 messages at E1. * drivers/dahdi/xpp/card_pri.c: demote a notice that will happen at registration We might as well ignore this, as we will get this at span registration time anyway. 2010-07-27 01:31 +0000 [r8997-9019] Russ Meyerriecks * drivers/dahdi/wct4xxp/base.c: wct4xxp: Enabled network facing looping for E1 Added the abililty to loop the line back towards the network for E1 modes. This supports both network loop and network payload loop. * drivers/dahdi/wct4xxp/base.c: wct4xxp: Fixed error injection bug * drivers/dahdi/wct4xxp/base.c: wct4xxp: Error counter injection for E1 mode Added support for error counter injection for E1 mode * include/dahdi/user.h, drivers/dahdi/wct4xxp/base.c: wct4xxp: Removed card level event handler Upon review the event introduced in r8998 seemed to be redundant, as the same information was already available. Performance issues were also a concern. This reverts r8998. * include/dahdi/user.h, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/dahdi-base.c: Added hardware transformer check QuadFalc has the ability to test if the transformer is performing correctly. If the components between the framer and the physical span interface are shorted out or opened for any reason we can now detect it. Possible causes for tripping this error could be a broken transformer from an electrical spike or a board manufacturing error. * include/dahdi/user.h, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/dahdi-base.c: Added card level event handler When a loss of syncronization signal occurs on one of the spans, it affects all spans on that card. Since we do not have a span or card level event system, we have to queue up a global event on all channels for that card The new event is DAHDI_EVENT_SYNC * drivers/dahdi/wct4xxp/wct4xxp.h, include/dahdi/user.h, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/dahdi-base.c: Added the ability to trigger alarm simulation states in the qfalc framer. Added some more verbose red alarm states in the upper byte of the alarm member of the dahdi_span structure Removed some unnecessary instrumentation regarding the enabling of the errored second and 1 second counters for performance collecting. Also added a couple comments. 2010-07-26 00:30 +0000 [r8979-8986] Shaun Ruffell * drivers/dahdi/tor2.c, drivers/dahdi/wcfxo.c, drivers/dahdi/wcte12xp/base.c, include/dahdi/kernel.h, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/pciradio.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wcte11xp.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/dahdi_dynamic.c, drivers/dahdi/wctdm.c, drivers/dahdi/wct1xxp.c, drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_dummy.c: dahdi: Move the 'owner' field from dahdi_span to dahdi_span_ops. One more thing that can be moved out of the per-span structure. * drivers/dahdi/tor2.c, drivers/dahdi/wcfxo.c, drivers/dahdi/wcte12xp/base.c, include/dahdi/kernel.h, drivers/dahdi/pciradio.c, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wcte11xp.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/xpp_dahdi.h, drivers/dahdi/dahdi_dynamic.c, drivers/dahdi/wct1xxp.c, drivers/dahdi/wctdm.c, drivers/dahdi/dahdi-base.c: dahdi: Move the callbacks in dahdi_span into its own structure. Part of preparation for adding additional callbacks to allow board drivers to advertise and support gathering pre-echocan data from hardware echocans. * drivers/dahdi/tor2.c, drivers/dahdi/wcfxo.c, drivers/dahdi/wcte12xp/base.c, include/dahdi/kernel.h, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/pciradio.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/xpp/xbus-pcm.c, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wctdm24xxp/xhfc.c, drivers/dahdi/wcte11xp.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/dahdi_dynamic.c, drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wctdm.c, drivers/dahdi/wct1xxp.c, drivers/dahdi/wctdm24xxp/xhfc.h, drivers/dahdi/dahdi_dummy.c: dahdi: Remove the 'pvt' member from dahdi_span. The vast majority of board drivers already keep the dahdi_span structure in a driver specific structure. The others were easily converted. This way board drivers can use the container_of macro to find what was previously pointed to by the "pvt" member of the span. One less thing to think about in the span structure. * drivers/dahdi/firmware/Makefile, drivers/dahdi/voicebus/GpakApi.c, drivers/dahdi/voicebus/gpakenum.h, drivers/dahdi/voicebus/GpakApi.h, drivers/dahdi/voicebus/GpakCust.c, drivers/dahdi/voicebus/gpakErrs.h: wcte12xp, wctdm24xxp: Updating VPMADT032 firmware to version to 1.25 The echo canceler will now monitor if the receive signal goes over a certain threshold, and if so, freezes its adaptation to prevent loss of convergence. I.e. Fixes conditions where blowing into your handset could result in echo. Additionally, 1.25 includes improvements for handling when line conditions change from echo free to containing echo. * drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/voicebus/voicebus.h: wcte12xp, wctdm24xxp: Return buffer processing to interrupt handler. In revision 8095, I had moved most of the buffer processing out of the interrupt handler and into a tasklet. The intended result was to enable multiple cards to interleave with one another. But once again I was bitten by the fact that there are some systems that for one reason or another do not process their tasklets in a timely enough manner for the real-time nature of TDM processing. This commit moves this processing back into the interrupt handler by default. It also limits the number of frames that the interrupt handler will process at any given time which appears to achieve the same intended result. (closes issue #17289) Tested by: alecdavis * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/voicebus.h: wcte12xp, wctdm24xxp: spin_lock_bh -> spin_lock_irqsave Will add an option to allow calling the deferred processing callback directly in the interrupt handler. It appears there are some systems which still are unable to process their tasklets in a timely fashion, especially if they get pushed out to the ksoftirqd daemon. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Do not call destory_workqueue if the workqueue was not yet created. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/wctdm24xxp/base.c: wcte12xp, wctdm24xxp: Add shutdown handlers. Make the drivers a little more kexec friendly. 2010-07-25 16:43 +0000 [r8975] Tzafrir Cohen * drivers/dahdi/xpp/card_pri.c: No need to worry about accidental "changes" in reg. 0x70 in E1 2010-07-22 15:28 +0000 [r8968-8969] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Make sure we also change the deflaw of the span to ulaw if alawoverride is disabled. * drivers/dahdi/wct4xxp/base.c: Make sure we check max_latency to see if it's greater than the minimum required latency for the board in question. 2010-07-19 13:49 +0000 [r8943-8944] Tzafrir Cohen * README: Copy README section of kernel sources from Zaptel. Still needs some simplifications. Anybody? * drivers/dahdi/xpp/card_fxs.c: FXS - fix VMWI compatibility mode: * If we have vmwi_ioctl=N, we should initialize the vmwi_type of all channels. We initialize it to HVAC * Fix a regression, where curly braces around empty if()'s were removed. * Also fix the VMWI_TYPE() macro, so it actually uses the 3'rd parameter. (this didn't cause damage yet, as we only used HVAC so far) 2010-07-16 16:25 +0000 [r8939] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Add alawoverride parameter to the wcb4xxp module to allow for ulaw and alaw mode. 2010-07-14 20:15 +0000 [r8935] Matthew Fredrickson * drivers/dahdi/wct4xxp/base.c: Make noburst parameter override burst flag. 2010-07-14 11:50 +0000 [r8872-8931] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/PIC_TYPE_4.hex: PIC 4 rev. 7381: fix T1 returning signaling register in non-CAS This is the second part of the partial fix in r8872, though each of the two should work independently. * drivers/dahdi/xpp/firmwares/USB_FW.hex: Allow reading caps when twinstar watchdog set Fixes reading capabilities when the watchdog is set. In that case most of the data, as seen, e.g. in output of 'astribank_allow', was 0xFF. Xorcom rev: 7809 * drivers/dahdi/xpp/init_card_4_30, drivers/dahdi/xpp/card_pri.c: Set Astribank PRI before initialization This avoids most cases of sending garbage at startup by setting each port to tristate mode at init time (in the init script) and enable it back at DAHDI_STARTUO (end of dahdi_cfg). Upgrade note: if you have upgraded the files (including init script) but old module is still loaded, you may end up with the port not getting ever enabled and the line practically dead. In such a case, reload the new module. * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xbus-pcm.c: start migrating from xbus_num() to get_xbus()/put_xbus() * Now get_xbus() receive and xbus number (not poiner) and uses xbus_num() internally to map it to an xbus pointer + refcount increment. (this is atomic) * Migrate all obvious places that used xbus_num() to map bus number into a pointer, so now they use get_xbus() + put_xbus() to aquire and release an xbus. * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/xbus-pcm.h, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xbus-pcm.c: PRI Astribanks always sync AB (and independent) * PRI devices always get SYNC-AB (never PLL, not even for NT) * Fix Timing priority calculation accordingly. * On PRI layer1 changes, elect_syncer() is called, so we have re-election. * drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/xbus-core.h: prevent handling of duplicate Astribanks Don't let AB which are unplugged/replugged create duplicate XBUS's (if asterisk don't close the original channels). * drivers/dahdi/xpp/xbus-sysfs.c: Create /sys/devices/astribanks: * Astribank devices now reside under their own top-level device. * The USB device is still used as the 'transport'. * This means the astribanks parents are NOT the USB devices. * As a result, even after a USB disconnect, we have valid sysfs representation. * drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/xbus-core.h: Keep SYSFS objects after disconnect When the USB device disconnects, we keep references to them to make sure they don't disappear. * drivers/dahdi/xpp/card_pri.c: Don't reset span flag RBS on pri module Don't attempt to reset the span flag DAHDI_FLAG_RBS. At pre-registration we don't yet know if we're CAS or not. * drivers/dahdi/xpp/card_pri.c: don't send "duplicates" in E1 as in D4 Make sure we only consider T1-s to be potentially D4 (which requires sending the bits twice). This fixes occasional command-queue floods in E1 CAS. * drivers/dahdi/xpp/card_fxs.c: Put a space where it belongs * drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/card_fxs.c: Basic support for DAHDI_VMWI_CONFIG * Supports only our current NEON notification. * No more global 'vmwineon' parameter: - We expect asterisk to tell us by channel. - If 'vmwi_ioctl' is not set (it is by default), that we revert to FSK searching (expensive) and call directly our NEON code (as before). * drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_global.c: Solve race xbus_populate Fixes a crash resulting from a race between disconnecting and connecting Astribanks (on multi-core systems) * Use get_xbus()/put_xbus() arround xbus_populate(), so a disconnect in the middle won't release the xbus too early. * Aquire all XPDs before starting initialization and release them after it finishes (so we don't have up/down races among XPDs) * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/xbus-core.h: put xbus->worker in xbus; wake_up_interruptible_all() * The worker member of 'struct xbus' is now an embedded struct xbus_workqueue. * Replace wake_up() to wake_up_interruptible_all(). * drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.c: Cleanup: refcount_xpd() * Change refcount_xpd(): instead of returning a pointer to the atomic counter, return directly its value (just like refcount_xbus()) * Add a refcount_xbus and refcount_xpd attributes to sysfs (for debugging) * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xpp_usb.c, drivers/dahdi/xpp/xbus-pcm.h, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xbus-pcm.c: Fix building without CONFIG_PROC_FS defined This changeset should have no functional changes. * drivers/dahdi/xpp/init_card_4_30: Don't assume hardwired pri_protocol is E1 When initializing registers for the "PRI" (E1/T1) module, in the case the user has not explicitly asked for E1/T1 settings in xpp.conf (pri_protocol) fall back to the current value, which is the build-time fall-back. The value is read from sysfs. Previously we implicitly assumed this value is E1. * drivers/dahdi/xpp/init_card_4_30: partial fix of T1 returning signaling register in non-CAS mode 2010-07-12 18:45 +0000 [r8868] Shaun Ruffell * drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_dummy.c: dahdi: Explicitly ensure we don't schedule a timer for the current tick. As best as I can tell, when CONFIG_NO_HZ is set along with CONFIG_HZ < 250, it is possible for the system timer to exceed MAX_SOFTIRQ_RESTART. Tony Mountifield alluded that this might be a problem in the below mailing list posting, but when I was originally testing, I wasn't using CONFIG_NO_HZ and HZ < 250. http://www.mail-archive.com/asterisk-dev@lists.digium.com/msg37384.html (closes issue #17620) Reported by: seanbright 2010-07-06 17:49 +0000 [r8853] Tzafrir Cohen * drivers/dahdi/wcb4xxp/base.c: Extra PCI ID for Junghanns PCI-E cards. 2010-07-02 18:58 +0000 [r8849] Matthew Fredrickson * drivers/dahdi/wct4xxp/base.c: Add support for max_latency module parameter in wct4xxp 2010-06-30 20:23 +0000 [r8841] Matthew Fredrickson * drivers/dahdi/wct4xxp/base.c: Fix for circumstances where the framer needs extra help to reset itself. 2010-06-29 20:20 +0000 [r8831-8832] Shaun Ruffell * drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Fix "operation on may be undefined" warning. gcc 4.5.0 generates a warning on the changed lines and http://gcc.gnu.org/ml/gcc/2004-10/msg00032.html explains why. Essentially, the only thing guaranteed with the preincrement operator is that the value will be incremented before the assignment. It's undefined where in the sequence the mask will be applied. * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Fix "operation on may be undefined" warning. gcc 4.5.0 was generating a warning on the changed line, and the discussion at http://gcc.gnu.org/ml/gcc/2004-10/msg00024.html explains why. Essentially, the only thing guaranteed with the preincrement operator is that the value will be incremented before the assignment. It's undefined where in the sequence the mask will be applied. 2010-06-29 12:39 +0000 [r8809-8823] Tzafrir Cohen * README: Document DAHDI 2.3 and 2.2 incompatibilities * README: Fix the README "_V1" ioctls examples zap->dahdi and such. * build_tools/live_dahdi: live_dahdi: properly unload EC modules Copy sruffel's fix to the init.d script from -tools. * build_tools/live_dahdi: live_dahdi: regen config or restart asterisk without full reload Adds commands 'genconf' (for basically: dahdi_genconf; dahdi_cfg) and 'asterisk' (start asterisk) so doing those should not require a full restart. * include/dahdi/kernel.h: chan_notice() now works Make chan_notice() and does not complain about undefined 'chan'. 2010-06-24 21:02 +0000 [r8801-8805] Mike Spiceland * drivers/dahdi/wct4xxp/base.c: Fix trailing whitespace and make last change more readible. (sruffell suggestion) * drivers/dahdi/wct4xxp/base.c: Impliments a workaround for an errata in the qfalc v3.1 chip which caused RBS modes to be broken when using AMI coding. DAHDI-647. 2010-06-18 10:57 +0000 [r8784] Tzafrir Cohen * include/dahdi/dahdi_config.h: Disable DAHDI_AUDIO_NOTIFY by default It's still not tested well-enough, if one enables OPTIMIZE_CHANMUTE. 2010-06-14 21:34 +0000 [r8768] Mike Spiceland * drivers/dahdi/wct4xxp/base.c: Expose some dynamic latency options as module parameters for the wct4xxp driver latency - the default number of ms of buffering to start off with ms_per_irq - how often the card interrupts 2010-06-08 19:46 +0000 [r8751-8762] Tzafrir Cohen * drivers/dahdi/xpp/xpp_usb.c: Use usb_{alloc,free}_coherent instead of usb_buffer_{alloc,free}. usb_buffer_alloc has been replaced with usb_alloc_coherent , and likewise usb_buffer_free has been replaced with usb_free_coherent. in kernels 2.6.34 the older names are proxies for the new ones, and in 2.6.35 the older names are gone. This patch defines the new names for the old ones, for older kernel versions. (closes issue #17383) Reported by: Chainsaw * drivers/dahdi/voicebus/GpakCust.h: include semaphore.h explicitly for newer kernels With kernel version >= 2.6.35-rc1, building failed with: drivers/dahdi/voicebus/GpakCust.h:114: error: field ‘sem’ has incomplete type (closes issue #17382) Reported by: Chainsaw Patches: 07-semaphore-include-not-optional.diff uploaded by Chainsaw (license 723) * build_tools/live_dahdi: live_dahdi: load firmware_class if required Modprobe firmware_class for modules that may need it (and that we insmod later) 2010-05-25 19:23 +0000 [r8689] Shaun Ruffell * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Do not access memory after we free it. 2010-05-24 16:55 +0000 [r8680] Shaun Ruffell * drivers/dahdi/hpec/dahdi_echocan_hpec.c: hpec: #include Fix the same issue as in r8550 , for dahdi_echocan_hpec.c: With kernel 2.6.34 an explicit '#include ' is required for using kzalloc() and friends. 2010-05-23 12:17 +0000 [r8673-8674] Tzafrir Cohen * drivers/dahdi/dahdi_echocan_oslec.c: missing #include: fixes building with 2.6.34-rc5 Fix the same issue as in r8550 , for dahdi_echocan_oslec.c: With kernel 2.6.34-rc5 an explicit '#include ' is required for using kzalloc() and friends. * drivers/dahdi/dahdi_transcode.c: A typo (lintian) 2010-05-17 21:44 +0000 [r8653] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Merge in pulse mask improvement patch for B410P. 2010-05-17 14:45 +0000 [r8641-8642] Shaun Ruffell * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: dev_notice -> dev_info Modules that aren't installed should show at the same level as modules that are installed. It could be confusing if the console log level is set to 3 and only messages about which ports do not have any modules installed show up on the console. * drivers/dahdi/Kbuild, include/dahdi/kernel.h: dahdi: Check if wait_for_completion_timeout is backported. CentOS4 has this backported in their 2.6.9 kernel. 2010-05-14 Shaun Ruffell * dahdi-linux version 2.3.0.1 released. 2010-05-14 16:02 +0000 [r8621] Shaun Ruffell * drivers/dahdi/voicebus/GpakCust.h, /, drivers/dahdi/voicebus/GpakApi.c, drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/voicebus/GpakCust.c: Merged revisions 8560,8575-8576 via svnmerge from https://origsvn.digium.com/svn/dahdi/linux/trunk ........ r8560 | sruffell | 2010-04-22 16:36:16 -0500 (Thu, 22 Apr 2010) | 11 lines wcte12xp, wctdm24xxp: Ensure writes to I/O registers are flushed. In revision 8176 I changed register access from I/O space to memory mapped registers. Unfortunately, when I made that change, I didn't account for posted writes. This change makes sure all the registers are read back to ensure that they are posted through any intermediate bridges. The most readily observable symptom were cards that were taking 2000 interrupts/second. The card reported that it handled an interrupt but the write to silence the card wasn't flushed through until the second time the interrupt handler run. DAHDI-602. ........ r8575 | sruffell | 2010-04-26 18:29:16 -0500 (Mon, 26 Apr 2010) | 4 lines wcte12xp, wctdm24xxp: Do not allow interruptible sleep on VPM lock. If the sleep is ever interrupted, 'up' will still be called in the GpakApi, essentially making the lock useless after that point. ........ r8576 | sruffell | 2010-04-26 18:29:17 -0500 (Mon, 26 Apr 2010) | 9 lines wcte12xp, wctdm24xxp: Retry if the VPMADT032 reports not ready. CheckDspReset can return -1 if the DSP is not ready to process any new commands. In this case we should retry a few times to give the DSP a chance to become ready. While I'm not ready to say this definitely fixes recently reported cases when the wcte12xp driver constantly resets, it eliminated communication failures to the DSP module when under stress (via the vpm_firmware_version sysfs attribute). However, I haven't let it run long enough to say that the issue is resolved. DAHDI-603. ........ 2010-04-22 11:03 +0000 [r8551] Tzafrir Cohen * /, drivers/dahdi/dahdi_echocan_jpah.c: missing #include: fixes building with 2.6.34-rc5 With kernel 2.6.34-rc5 an explicit '#include ' is required for using kzalloc() and friends. Merged revisions 8550 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk 2010-04-19 19:42 +0000 [r8540-8545] Tzafrir Cohen * drivers/dahdi/xpp/xpp_debug, /, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/wcb4xxp/Makefile, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/dahdi-base.c: typos, mostly unkown Merged revisions 8539 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * Makefile, /: Remove generation of kernel-doc API docs It's not really useful, and it breaks building 'docs' without a kernel tree. Merged revisions 8538 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * /: initialize svnmerge 2010-04-12 Shaun Ruffell * dahdi-linux version 2.3.0 released. 2010-04-06 23:19 +0000 [r8473-8494] Shaun Ruffell * drivers/dahdi/voicebus/voicebus.c: voicebus: Change WARN_ON_ONCE to BUG_ON. WARN_ON_ONCE is not defined in 2.6.9, and this condition would be catastrophic anyway if it were to occur. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Load the VPM in startup, not spanconfig * drivers/dahdi/wcte12xp/base.c: wcte12xp: Check and dequeue/decipher the VPM commands atomically * drivers/dahdi/wcte12xp/base.c: wcte12xp: Make sure the interrupt is stopped before freeing the vpmadt032 * drivers/dahdi/wcte12xp/base.c: wcte12xp: Eliminate a trailing whitespace. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Do not reconfigure the VPMADT032 if shutting down. If we try to unload the driver soon after a high latency event, it is possible to get stuck for several seconds reloading the firmware. DAHDI-573. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Do not restart the timer on alarm poll if shutting down. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Expose the maximum latency as a module parameter * drivers/dahdi/wcte12xp/base.c: wcte12xp: Reprogram the VPM only when neccessary. Only program the VPM in spanconfig if it either is not setup, or if it fails a ping test. Also, if the channel config fails (but ping would otherwise work), force a reset / reconfiguration if the VPM module. DAHDI-573. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/voicebus/GpakCust.c: wcte12xp: Try to reconfigure the VPM if we fail to configure the channels. Also, fall back to any software echocan configured for this channel for new calls while we're in the middle of a recovery. 2010-04-04 16:14 +0000 [r8454-8468] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/wcte12xp/wcte12xp.h, drivers/dahdi/voicebus/GpakCust.c, drivers/dahdi/voicebus/GpakCust.h: wcte12xp: Poll the VPM and reset it if necessary. When the transmit descriptor runs out completely, there (appears to be) a chance for a random command to be sent that results in the VPMADT032 to no longer respond, typically resulting in one way audio. This change introduces a poll of the VPM. If it fails the poll, it will be bypassed temporarily while the driver resets and reprograms it. Also, the VPM is initially programmed in the spanconfig callback instead of at driver load. This moves the potential for underruns until later in the boot process. DAHDI-573. * drivers/dahdi/voicebus/voicebus.c: wcte12xp, wctdm24xxp: If we're only one packet behind, just exit. This will make us two behind, which is fine, and eliminates a busy loop in atomic context. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Use ARRAY_SIZE in a couple more places * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakCust.h: wcte12xp, wtdm24xxp: Make sure the writes are retried. r8454 and r8460 introduced a change where writes are not retried when other module/framer commands are retried. This was an error and wasn't what was actually under test. This commit restores the behavior in wctdm24xxp and makes sure the vpm writes are retried in the wcte12xp. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakCust.h: wcte12xp, wctdm24xxp: Close a memory leak when processing VPM commands. Closes a memory leak when processing the VPM write commands introduced in r8454. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp: Use our own workqueue for the timer and maint events. When the latency is large and register reads can take 100s of milliseconds, the alarm polling function could tie up one of the global workqueue threads long enough to interfere with other system operations. Most noticeably the console. DAHDI-573 * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakCust.h: wcte12xp: Resend both framer and VPM commands when reads may have been lost. Latency conditions could cause the driver to misconfigure the VPM which would result in one way audio. DAHDI-572. 2010-03-29 20:43 +0000 [r8443] Russ Meyerriecks * drivers/dahdi/dahdi-base.c: dahdi-base: Fix a bug preventing clobbering maint state Now the errror injection code prevents placing the driver into a loopback state in a less forceful way. 2010-03-25 16:23 +0000 [r8431] Shaun Ruffell * drivers/dahdi/voicebus/voicebus.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/voicebus.h: wctdm24xxp: Add an 'hx8' mode for buffer processing. The Hx8 series cards do not need any idle buffers and idle_buffers complicate processing when using the timing_cable. This change adds another mode of operation for the voicebus layer for the Hx8 cards that operates without the idle buffers. 2010-03-25 15:13 +0000 [r8421-8423] Tzafrir Cohen * drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wcb4xxp/wcb4xxp.h: wcb4xxp - add Swyx 4xS0 SX2 QuadBri PCI IDs (closes issue #16493) Reported by: nic_bellamy Patches: wcb4xxp_swyx_sx2_quadbri_pci_ids.patch uploaded by nic bellamy (license 299) * drivers/dahdi/wcb4xxp/base.c: Some more wcb4xxp PCI IDs for Junghanns cards Resolve two open issues. One of them that accidentally wasn't closed. (closes issue #15446) (closes issue #16447) Reported by: lpistone Tested by: okrief 2010-03-24 15:56 +0000 [r8410-8416] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c: wcte12xp: Fix typo in last commit. Wouldn't compile on kernels >= 2.6.20. * drivers/dahdi/wcte12xp/base.c: wcte12xp: t1xxp_maint is also called with interrupts disabled from dahdi_ioctl So just push all the maintenance mode processing off to the workqueue. * drivers/dahdi/wcte12xp/base.c: wcte12xp: t1xxp_maint can be called from interrupt context. Since t1xxp_maint can be called from interrupt context with the DAHDI_MAINT_LOOPSTOP cmd, push the processing of that command to a workqueue since it may sleep in the t1_getreg call. DAHDI-560. 2010-03-24 12:07 +0000 [r8405] Tzafrir Cohen * README: document the header line of /proc/dahdi/NN 2010-03-23 21:56 +0000 [r8399-8400] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c: wcte12xp: Fix potential race on command handling. If we timeout a command, don't free it right away unless we are the one who removed it from whatever list it was on. Also, increase the timeout (2 seconds wasn't enough when the firmware for the VPMOCT was being loaded on a system with 4K stacks) and check the return value from t1_getreg in case there were timeouts. DAHDI-560. * include/dahdi/kernel.h: dahdi: 'clamp' may already be backported. 2010-03-23 13:41 +0000 Russ Meyerriecks * dahdi-linux version 2.2.1.1 released. 2010-03-10 17:04 +0000 Russ Meyerriecks * dahdi-linux version 2.2.1.1-rc1 released. * wct4xxp: Added support for for qfalc v3.1 framer. * wct4xxp: Added ID tags for generation 5 firmware updates 2010-01-11 Shaun Ruffell * dahdi-linux version 2.2.1 released. 2010-01-11 13:40 +0000 [r7844] Tzafrir Cohen * drivers/dahdi/xpp/xbus-pcm.c, /: xpp: demote a message that generates some false alarms. Merged revisions 7843 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk 2010-01-10 11:40 +0000 [r7806-7816] Tzafrir Cohen * /, drivers/dahdi/xpp/firmwares/USB_FW.hex: xpp: USB_FW rev 7578 Fixes various minor twinstar-related bugs. Merged revisions 7815 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * drivers/dahdi/xpp/xbus-pcm.c, /: xpp: fixes for drift calculation. Should help for the case of multiple quad-PRI Astribanks on a single system. xpp rev: 7666. Merged revisions 7807 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * drivers/dahdi/xpp/xbus-pcm.c, /, drivers/dahdi/xpp/xbus-pcm.h, drivers/dahdi/xpp/xbus-sysfs.c: xpp: Improved inter-Astribank drift calculation. Merged revisions 7625 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk 2009-12-28 19:16 +0000 [r7733] Shaun Ruffell * drivers/dahdi/dahdi-base.c: dahdi-base: change dahdi_kernel_fpu_end to kernel_fpu_end dahdi_kernel_fpu_end is part of the MMX changes in trunk that was not committed into the 2.2 branch. This change snuck in as part of revision 6864 with the master span processing changes. 2009-12-22 17:53 +0000 [r7723] Shaun Ruffell * voicebus, wcte12xp: Only define SLAB_STORE_USER when CONFIG_SLUB is defined. On 2.6.22, there is was a bug in the SLUB allocator that required defining SLAB_STORE_USER, however this setting is only valid when CONFIG_SLUB is defined and not when using the previous slab allocator. DAHDI-424. 2009-12-11 23:22 +0000 [r7683-7684] Shaun Ruffell * dahdi-linux version 2.2.1-rc2 released. * dahdi-base: Do not wait for impulse when echotraining. Waiting here for the impulse on the transmit can cause the echotraining logic to stick the channel into muted state. This is especially apparent on systems that regularly do not service the interrupts every millisecond. DAHDI-387. * dahdi-base: Reduce the max allocation size in dahdi_reallocbufs. Lower the maximum contiguous chunk that DAHDI asks for from DAHDI_MAX_BUFFER_SIZE*2 to DAHDI_MAX_BUFFER_SIZE. With 4K pages, this can allow the kernel to try a little harder to find the memory it needs since the request goes from order 4 to order 3. 2009-11-23 19:20 +0000 [r7636] Shaun Ruffell * dahdi-linux version 2.2.1-rc1 released. * Even if we are debouncing the LOS declaration, we still expect the LED to turn red as soon as we unplug the physical cable. This impliments this on the wcte12xp just as it already does on the wct4xxp. 2009-11-22 11:43 +0000 [r7616-7620] Tzafrir Cohen * xpp firmware: fix FXS indirect register reading. xpp rev: 7498 Merged revisions 7614 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk 2009-11-19 22:52 +0000 [r7610] Tzafrir Cohen * drivers/dahdi/xpp/xpp.rules, /: xpp: rules for loading USB firmware into 1163 devices as well Merged revisions 7595 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk 2009-11-12 23:45 +0000 [r7572-7584] Shaun Ruffell * 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) 2009-11-10 15:47 +0000 [r7539-7550] Shaun Ruffell * wcte12xp: Export features and operations for VPMADT032. Fixes a regression in dahdi-linux 2.2.0 where it was impossible for userspace to reset the state of a channel in the VPM. (issue #15724) Patches: mantis-15724-2.patch uploaded by sruffell (license 456) Tested by: alecdavis * Use the same mutex lock for channel allocation and license checking in dahdi_echocan_hpec, so that channel allocation won't happen while the license is being checked (or rechecked) * dahdi_dynamic: Release the dlock before calling accross modules. Resolves a hard lock due to a recursive spinlock grab at startup. Reported by: mapacheco (closes issue #15210) * echocan: Properly keep the reference counts for the echocan modules. (closes issue #13504) (closes issue #15327) Reported by: sruffell, tzafrir * wcb4xxp: support for other HFC-xS cards (info, not code) This commit includes skeleton for the support of other HFC-[248]S-based cards. It still does not include all the different cases for different cards. * wcb4xxp: B410P differences: Clock and NT/TE. * The B410P reads the NT/TE switches the other way around from other cards. * Its clock is also 1/2 of that of other cards, which causes wierd PCM on an unmodified driver. * wcb4xxp: Fix PCM handling for various cards. HFC-8S cards behave quite differently than HFC-4S cards here. * wcb4xxp: Fix LED handling in OpenVox cards (maybe also others) This commit adds extra functions to handle LEDs in the non-B410P cards. Only tested on OpenVox cards. OpenVox cards are known to have slightly different LEDs so this is likely to be slightly broken for others. * wctdm: Change proslic linefeed register setting Insure that proslic linefeed register is not transitioned from Active to On-Hook Transmission while the channel is off-hook. Replaced magic numbers assigned to linefeed associated variables with more descriptive constants. (issue #15352) Reported by: alecdavis Patches: wctdm_prevent_ohttimer_click.diff3.txt uploaded by dbailey (license 819) Tested by: alecdavis, dbailey, vmikhelson * wctdm24xxp, wctdm: Detect if our hookstate has been set back to the initial state. Check if our hookstate has been set back to the initial state, typically the result of a chanconfig, and if so, if we're an FXO port, forget our current battery state. This allows the driver to determine and report again what the hook state of the port is. (related to issue #14577) (closes issue #15429) * wcfxo: Reset the DAA on module initialization. The X100p and clones will sometimes work and sometimes not depending on wether the DAA powers up in running state- this seems to be related to the power supply. This problem is caused by the driver not reseting the DAA and may be the source of a great many intermittent problems with this card. (closes issue #14232) Reported by: tallen8840 Patch by: tallen8840 Tested by: explidous, Flavio * Silence spurious warnings when trying to remove Zaptel directories during install. (closes issue #15479) Reported by: pprindeville Patches: dahdi-linux-rm.patch uploaded by pprindeville (license 347) * dahdi-base: Reduce the stack usage of dahdi_common_ioctl. Split the DAHDI_GETGAINS and DAHDI_SETGAINS ioctls into their own functions and dynamically allocate the 'struct dahdi_gains' structure to reduce the pressure on the stack. * Fixed issue where the clear channel flags were not being set at the appropriate time causing a channel re-configure to mis-set the last channel in each span * wctdm24xxp: Race condition in handling writes to proslic LINEFEED register (64) The wctdm24xxp driver has a problem where a VMWI IOCTL call followed immediately by a ONHOOKTRANSFER IOCTL call will cause the ONHOOK transfer request to be dropped. This occurs if the write to the proslic's LINEFEED register for the VMWI ICTL call is not completed when the ONHOOK transfer request IOCTL is processed. I also cleaned out some magic numbers used in setting the linefeed register. (closes issue #15875) Reported by: dbailey Patches: 15875-wctdm24xxp.diff uploaded by dbailey (license 819) Tested by: dbailey * wctdm: WCTDM SPI clock off state polarity and read timing Change the off state of the SPI clock to high and provide more time for data to settle out on SPI reads. (closes issue #15261) Reported by: alecdavis Patches: wctdm_spi_clocking.diff2.txt uploaded by alecdavis (license 585) Tested by: alecdavis, dbailey * wct4xxp: Check the alarm state if we're debouncing a red alarm. This fixes a problem where if you set the alarmdebounce module parameter on gen2+ cards, you never detect when you go into red alarm. * dahdi-base: dahdi_ioctl_[get|set]gains should return the res value. In function dahdi_ioctl_getgains() and dahdi_ioctl_setgains() return value assigned to res variable, but these function always return 0 which is an error. (closes issue #15916.) Patch by: ys * wctdm: Add missing break A break was missing that caused DAHDI_ONHOOKTRANSFER ioctl call to fall into DAHDI_SETPOLARITY ioctl call. (issue #14261) Reported by: alecdavis Patches: wctdm_fix_ONHOOKTRANSFER.diff.txt uploaded by alecdavis (license 585) Tested by: alecdavis * dahdi-base: Do not allow jumps in system time to lock up the system w/core_timer Since dahdi coretimer uses the number of milliseconds that has actually passed to determine how many times to call dahdi_receive, it is possible that if the system time shifts after dahdi is started, that the system can appear to lock up while the core timer attempts to catch up. This change prevents soft lock ups under these conditions. This is brings the dahdi_dummy changes in r6933 into dahdi-base. (related to issue #15647) * wcte12xp, wctdm24xxp: VPMADT032 firmware update to 1.20. * wct4xxp: Debounce alarms by default for wct4xxp per AT&T 54016. Also, the various alarm conditions can be debounced separately. * voicebus: Increase the NLP converged threshold to 18. Brings in the change from r7065 that was on the team/sruffell/dahdi-linux-vpm119 branch. * wcte12xp: Adding alarm debounce to single span driver (wcte12xp). Debounce yellow alarm also. Change check alarm frequency to 100ms for better debounce granularity. Fix lines over 80 cols from last alarm debounce commit. * voicebus: Send 'idle' buffers when the transmit descriptor underruns. Previously, when the host system fails to service the interrupt in a timely fashion, the transmit descriptor ring for the voicebus card would "go empty" since the interface wouldn't have another descriptor to read in. The driver only knows that it went empty, not how far behind it actually was. Therefore, the driver could just increase the latency by a millisecond and keep going waiting for another bump. Additionally, when the transmit descriptor actually goes empty, there are some cases where an in process SPI transaction to one of the modules is interrupted, which may result in corrupted module register writes on rare occassions. This now makes it possible for the voicebus drivers to coexist with some devices that periodically lock interrupts for longer than 25ms. Before this patch, the latency would constantly increase until either the modules received a corrupted frame. This patch preconfigures all the receive descriptors to send an "idle" packet that will be transmitted to the onboard modules when the host doesn't service the interrupt within (latency - 2)ms. There are now two kinds of underruns, softunderuns where the driver can detect that these idlebuffers have made it to the TX FIFO, and the normal hard underrun where the part signals a transmit descriptor unavailable interrupt. DAHDI-278. * voicebus: Add function to lock the latency. Now that increases in the latency produce less undefined behavior on the SPI busses, provide an interface for client drivers to inform the voicebus library to not increase the latency if underruns are detected. This can speed up loads of the driver since latency bumps do not trigger a restart of the driver initialization. DAHDI-278. * wctdm24xxp, wcte12xp: Lock latency when loading We no longer need to retry board initialization if the latency would have increased during the initialization. DAHDI-278 * voicebus, wctdm24xxp, wcte12xp: Move a print out of the interrupt handler. This can be handled just as well in process context and printing to a serial console from the interrupt handler has the potential to cause long latencies. * voicebus: Be just a little more graceful if we cannot grab our interrupt line. * wcte12xp: use the dev_xxx macro for the debounce messages. We want to know which device is reporting the debounce when there are more than one card in the system. 2009-11-05 12:06 +0000 [r7485-7493] Tzafrir Cohen * backport a number of build fixes from trunk to 2.2 Merged revisions 7226,7356,7392 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * xpp: Use proper get/set for device->driver_data 2.6.32-rc1 broke direct access to the member 'driver_data' of 'struct device'. However direct access to wasn't proper in the first place. This commit replaces direct access to dev->driver_data with dev_get_drvdata() and dev_set_drvdata(). * dahdi-base: Include linux/sched.h Commit a99bba to the mainline kernel removed sched.h from poll.h. So dahdi-base.c needs to include sched.h directly now. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a99bba * headers: sched.h was also removed from interrupts.h Commit d43c36 made it necessary to add sched.h to more of the board drivers. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d43c36 * xpp: Add sysfs xpd attribute 'timing_priority' Merged revisions 7237 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * T1 CAS support in the xpp "pri" module Merged revisions 7244-7245,7266,7276,7457 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk * xpp: make card_hooksig an optional card method. Done in preperation for T1 CAS support, as the PRI module will use RBS instead. * xpp: refactor pcm mask handling. * xpp: PRI PIC firmware: T1-CAS fixes * xpp: More E1/T1 CAS fixes. Mostly connect/disconnect xpp revs: mostly 7458, 7466 2009-08-19 16:44 +0000 [r7039] Kevin P. Fleming * Ensure that dahdi_scan correctly reports VPM presence. The wct4xxp driver (for the dual/quad span T1/E1 cards) and the wcte12xp driver (for the single span VoiceBus-based T1/E1 cards) did not properly update the 'devicetype' field reported by dahdi_scan when a VPM was found during the card startup process. As a result, dahdi_scan did not show that a VPM was present on the card, even if it was. 2009-08-13 22:04 +0000 [r7001] Tzafrir Cohen * xpp firmware: Fixes PCM issue with FXO that is not a timing source Fixes PCM issue with an Astribank2 (116x) FXO module that is installed alongside a PRI/BRI module. xpp: FPGA_1161.hex r7276 . Merged revisions 6938,6966 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk 2009-08-06 17:35 +0000 [r6950] Shaun Ruffell * dahdi-base: Reduce the stack usage of ioctl_load_zone. * dahdi-base: Update formatting in ioctl_load_zone. Fixes checkpatch.pl formatting errors from the previous commit. 2009-08-04 16:38 +0000 [r6934-6937] Shaun Ruffell * wctc4xxp: Update to use struct net_device_ops. Accomodates a change in the linux kernel network device interface. * wctc4xxp: Make the wctc4xxp_netdev_ops structure static. * dahdi_dummy: Do not allow jumps in system time to lock up the system. Since dahdi_dummy uses the number of milliseconds that has actually passed to determine how many times to call dahdi_receive, it is possible that if the system time shifts after dahdi is started, that the system can appear to lock up while dahdi_dummy attempts to catch up. This change prevents soft lock ups under these conditions. (closes issue #15647) Reported by: missnebun 2009-07-21 18:11 +0000 [r6864] Shaun Ruffell * wcte12xp: Disable vpmadt032 companding by default. This fixes a regression in 2.2.0 where certain configurations will fail patloop test or have repeated HDLC aborts because the VPMADT032 is modifying the clear channel or d channel data streams. This restores the behavior to how it was in dahdi-linux 2.1.0.4. (closes issue #15498) Reported by: alecdavis Tested by: alecdavis * tor2: allow using port4 as timing source Fix a silly regression introduced when strict check on the timing parameter was added (sync-1 is the array index, not sync itself. And 0 is a special case). (closes issue #15408) Reported by: dferrer Patches: tor2-4th_sync.patch uploaded by dferrer (license 525) * Revert "wct4xxp, wcte11xp: Use the default configuration by default at startup." This reverts the change introduced by revision 6712. This change can cause problems when there is a VPM module installed on the quad-span digital cards. * dahdi-base: Add support for core timing. This essentially moves the function of dahdi_dummy into the core of DAHDI. It ensures that if DAHDI is loaded, it will always be able to provide timing, regardless of whether there are board drivers loaded, or if the board drivers are properly calling dahdi_receive. If there is a master span loaded which is calling dahdi_receive, then the behavior will be like it is normally. This functionality is off by default, uncomment CONFIG_DAHDI_CORE_TIMER in include/dahdi/config_dahdi.h in order to enable it. 2009-07-21 18:11 +0000 [r6858-6864] Shaun Ruffell * dahdi-linux version 2.2.0.2 released. * wcte12xp: Disable vpmadt032 companding by default. This fixes a regression in 2.2.0 where certain configurations will fail patloop test or have repeated HDLC aborts because the VPMADT032 is modifying the clear channel or d channel data streams. This restores the behavior to how it was in dahdi-linux 2.1.0.4. (closes issue #15498) Reported by: alecdavis Tested by: alecdavis * tor2: allow using port4 as timing source Fix a silly regression introduced when strict check on the timing parameter was added (sync-1 is the array index, not sync itself. And 0 is a special case). (closes issue #15408) Reported by: dferrer Patches: tor2-4th_sync.patch uploaded by dferrer (license 525) * Revert "wct4xxp, wcte11xp: Use the default configuration by default at startup." This reverts the change introduced by revision 6712. This change can cause problems when there is a VPM module installed on the quad-span digital cards. * dahdi-base: Add support for core timing. This essentially moves the function of dahdi_dummy into the core of DAHDI. It ensures that if DAHDI is loaded, it will always be able to provide timing, regardless of whether there are board drivers loaded, or if the board drivers are properly calling dahdi_receive. If there is a master span loaded which is calling dahdi_receive, then the behavior will be like it is normally. This functionality is off by default, uncomment CONFIG_DAHDI_CORE_TIMER in include/dahdi/config_dahdi.h in order to enable it. 2009-06-30 Shaun Ruffell * dahdi-linux version 2.2.0.1 released. * Fix for kernel panic when echotraining is enabled on echocan that does not support it. * Fix for kernel panic on RHEL4 when using VPMADT032. * Fix to allow wct4xxp, wcb4xxp, and wcte11xp to provide early timing. 2009-06-23 15:44 +0000 [r6695] Shaun Ruffell * dahdi-linux version 2.2.0 released. * README: Adding a known issues section to the README files. 2009-06-18 18:03 +0000 [r6692] Shaun Ruffell * drivers/dahdi/wcfxo.c, drivers/dahdi/wctdm.c, drivers/dahdi/wctdm24xxp/base.c: Fix calls to dahdi_hooksig. When JAPAN, AUDIO_RINGCHECK, or ZERO_BATT_RING compile time options are selected it is possible to get a kernel panic due to an invalid pointer passed to the dahdi_hooksig function. (closes issue #15350) Patch by: alecdavis 2009-06-12 22:30 +0000 [r6688] Jason Parker * drivers/dahdi/Kbuild: Make complex conditionals work with GNU make 3.80. Much uglier, but it works on RHEL4. 2009-06-04 21:14 +0000 [r6675] Shaun Ruffell * drivers/dahdi/dahdi-base.c: Fix bug in procfs handling. Fix bug in procfs handling where it was possible to get a warning in lib/vsprintf.c when reading from /proc/dahdi/x. Patch by: biohumanoid (closes issue #15252) 2009-05-27 Shaun Ruffell * dahdi-linux version 2.2.0-rc5 released. 2009-05-27 12:48 +0000 [r6659] Tzafrir Cohen * drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/card_global.c: Fix more 'owner' for 2.6.30 to be happy. Finishing the work of r6642. Completely shut issue #14964. 2009-05-25 08:23 +0000 [r6651-6653] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/PIC_TYPE_3.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_4.hex, drivers/dahdi/xpp/firmwares/FPGA_1161.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_1.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex: xpp firmwares: fixes sync issues of FXO module in a BRI/PRI Astribank * Also fixes LED blinking issues in PRI modules * Various bugfixes in the PICs. * drivers/dahdi/xpp/firmwares/USB_FW.hex: USB_FW.hex: Allow setting caps. even when FPGA is loaded. Note that They will only take effect after a reset. Firmware rev. 7071. 2009-05-19 16:09 +0000 [r6635-6642] Tzafrir Cohen * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xpp_usb.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/xdefs.h: xpp: 'owner' property of procfs was dropped in 2.6.30. This adds a compatibility macro for older versions that is a noop for kernels >= 2.6.30. (closes issue #14964) * drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/xproto.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xbus-pcm.c: xpp: fix the Astribank state machine This generally is a case that would not happen in the wild, though. * drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/xdefs.h: xpp: report in sysfs if bri module uses hardhdlc support * drivers/dahdi/xpp/calibrate_slics (removed): xpp: remove obsolete script calibrate_slics * drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/mmapbus.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/mmapdrv.c, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/Kbuild, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/xdefs.h: Replaece member bus_id with dev_name() and set_dev_name() As of 2.6.26 the macros dev_name() and set_dev_name() are used to read and set (respectively) the bus_id member in sysfs. As of 2.6.30 bus_id is gone. This patch provides comaptiobility macros for older kernel versions and removes direct usage of bus_id. (closes issue #14965) Patches: xpp_2630_dev_name.diff uploaded by tzafrir (license 46) * drivers/dahdi/voicebus, drivers/dahdi/vpmadt032_loader: ignore generated files in voicebus and vpmadt032_loader 2009-05-15 23:37 +0000 [r6625-6628] Shaun Ruffell * drivers/dahdi/voicebus/GpakCust.c: voicebus: Use '&' not '|' when checking for a bit. * drivers/dahdi/voicebus/GpakCust.c: voicebus: Make the enable/disable echocan messages debug again. I accidentally changed to print everytime. They should only be printed if DEBUG_ECHOCAN is specified in the debug module parameter. 2009-05-14 14:49 +0000 [r6621] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c: wcte12xp: Set the syncsrc in the span appropriately. Before this commit, dahdi_tool would report "Internally clocked" for boards supported by the wcte12xp driver both when receiving timing from the span and providing it to the span. Now it reports "Internally clocked" if providing timeing to the span, and the card if receiving timeing from the span. DAHDI-65. 2009-05-12 22:30 +0000 [r6606-6610] Kevin P. Fleming * drivers/dahdi/Kbuild: use proper case for variable name :-) * drivers/dahdi/Kbuild: Allow VPMADT032 and HPEC binary modules to be used on platforms where ARCH is set to the new 'generic' x86 flavor available in recent Linux kernel releases * drivers/dahdi/Kbuild: emit warning messages when DAHDI is being built on a CPU architecture that does not support HPEC or the VPMADT032 firmware loader, so the user will know why they are not included clean up the conditional logic for these items in the Kbuild file * Makefile: remove another unused variable 2009-05-11 17:48 +0000 [r6589-6590] Shaun Ruffell * dahdi-linux version 2.2.0-rc4 released. * drivers/dahdi/wcte12xp/base.c: wcte12xp: Expose vpm parameters as module parameters. Expose the vpmnlptype, vpmnlpthresh, and vpmnlpmaxsupp as module parameters like for the wctdm24xxp. DAHDI-261 * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakApi.h, drivers/dahdi/voicebus/GpakCust.c, drivers/dahdi/voicebus/GpakCust.h: voicebus: Update the default vpmadt032 parameters. Move the echo can channel parameters into a common location for both the wcte12xp and wctdm24xxp drivers that use the voicebus module. This is intended to make it clearer which differences are required between the clients. Additionally, update the default parameters to the new recommended values. VPMADT032-37 2009-05-07 19:42 +0000 [r6572] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakCust.c, drivers/dahdi/voicebus/GpakCust.h: voicebus: Create workqueue for each vpmadt032 instance. Depending on the system latency, the deferred work for the vpmadt032 can take up to 200ms. This change allows each vpmadt032 to use its own workqueue, and not the global system workqueue. This prevents vpm operations from blocking the main system workqueue for extended periods. This restores the behavior to the way it was before the common vpmadt032 code was moved out of the wctdm24xxp and wcte12xp drivers. DAHDI-260 voicebus-squash: Adding the wq name. 2009-05-07 19:42 +0000 [r6568-6572] Shaun Ruffell * dahdi-linux version 2.2.0-rc3 released. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakCust.c, drivers/dahdi/voicebus/GpakCust.h: voicebus: Create workqueue for each vpmadt032 instance. Depending on the system latency, the deferred work for the vpmadt032 can take up to 200ms. This change allows each vpmadt032 to use its own workqueue, and not the global system workqueue. This prevents vpm operations from blocking the main system workqueue for extended periods. This restores the behavior to the way it was before the common vpmadt032 code was moved out of the wctdm24xxp and wcte12xp drivers. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus/GpakCust.h: voicebus: Changing default NLP type to 'suppression'. The 'suppression' default for the NLP provides better echo canceling performance. Also ensures that the wctdm24xxp and wcte12xp driver use the same default values. 2009-05-05 17:32 +0000 [r6564] Shaun Ruffell * drivers/dahdi/voicebus/GpakCust.c: voicebus: Use the companding type on the span when enabling echocan. 2009-05-04 20:36 +0000 [r6562] Doug Bailey * drivers/dahdi/voicebus/GpakCust.c: Insure that vpmnlptype, vpmnlpmaxsupp, and vpmnlpthresh are set back to module level defaults when echo can is freed. (Previously they were zero'd out) DAHDI-257 2009-05-02 07:53 +0000 [r6556] Kevin P. Fleming * Makefile: Remove explicit passing of ARCH to kernel build system There is no value in setting a value for ARCH and passing it to the kernel build system; the configured kernel headers/sources already have an architecture specified and can't be used for any other architecture anyway. 2009-05-01 16:43 +0000 [r6549-6554] Shaun Ruffell * drivers/dahdi/dahdi-base.c: dahdi-base: define __RW_LOCK_UNLOCKED() Linux 2.6.9 does not contain that definition, but the older definition is deprecated since it defeats lock state checking. DAHDI-253 * drivers/dahdi/voicebus/Makefile (added): voicebus: Need Makefile to build on 2.6.9 DAHDI-253 * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Define mmiowb if not already defined. Linux kernel 2.6.9 does not define mmiowb. DAHDI-253 * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: spin_trylock_irqsave is not defined on some kernels. DAHDI-253 * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Defined gfp_t for earlier kernels. This definition was just copied from the xpp driver. DAHDI-253 * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Fix inclusion of linux/io.h on 2.6.9 kernels. DAHDI-253 2009-04-30 20:59 +0000 [r6544-6546] Kevin P. Fleming * include/dahdi/user.h: Fix compilation of applications that use DAHDI ioctls Defining ioctl codes in this file requires that linux/ioctl.h be included first. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wctdm24xxp/base.c: Ensure that vpmsupport=0 module parameter takes proper effect For these drivers, when the vpmsupport module parameter is set to zero, don't even register the span as supporting echo cancellation. DAHDI-250 2009-04-30 13:59 +0000 [r6542] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/FPGA_1161.hex: xpp: A new FPGA firmware to hopefully help with BRI/FXO. 2009-04-29 18:24 +0000 [r6523-6529] Shaun Ruffell * dahdi-linux version 2.2.0-rc2 released. * drivers/dahdi/dahdi_echocan_kb1.c, drivers/dahdi/wcte12xp/base.c, include/dahdi/user.h, include/dahdi/kernel.h, drivers/dahdi/adt_lec.c, drivers/dahdi/dahdi_echocan_jpah.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/ecdis.h, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/dahdi_echocan_mg2.c, drivers/dahdi/wcte12xp/wcte12xp.h, drivers/dahdi/voicebus/GpakCust.c, drivers/dahdi/hpec/hpec.h, drivers/dahdi/wcb4xxp/wcb4xxp.h, drivers/dahdi/dahdi_echocan_sec2.c, drivers/dahdi/voicebus/GpakCust.h, drivers/dahdi/hpec/dahdi_echocan_hpec.c, include/dahdi/dahdi_config.h, drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/dahdi_echocan_oslec.c, drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_echocan_sec.c: echocan: Improve interface for echo cancelers. Echo cancelers are now able to report if they are able to automatically disable their NLP portions in the presence of tones in the audio stream. Also, the interface is changed to allow user space to just disable the NLP portion of the echo canceler. These changes improve fax and modem handling in DAHDI. This commit merges in the changes on http://svn.digium.com/svn/dahdi/linux/team/kpfleming/echocan_work Patch by: kpfleming Also contains improvements to CED tone detection. (closes issue #13286) Reported by: viniciusfontes * drivers/dahdi/wct4xxp/base.c: wct4xxp: Fix problem when timing source is via external cable. * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/voicebus.c (removed), drivers/dahdi/wcte12xp/vpmadt032.c (removed), drivers/dahdi/voicebus (added), drivers/dahdi/voicebus/voicebus.c (added), drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/Kconfig, drivers/dahdi/wcte12xp/wcte12xp.h, drivers/dahdi/wcte12xp/GpakErrs.h (removed), drivers/dahdi/wctdm24xxp/GpakApi.c (removed), drivers/dahdi/wcte12xp/vpmadt032.h (removed), drivers/dahdi/wctdm24xxp/voicebus.c (removed), drivers/dahdi/voicebus/voicebus.h (added), Makefile, drivers/dahdi/wctdm24xxp/GpakApi.h (removed), drivers/dahdi/vpmadt032_loader/dahdi_vpmadt032_loader.c (added), drivers/dahdi/wcte12xp/Kbuild, drivers/dahdi/voicebus/Kbuild (added), drivers/dahdi/wctdm24xxp/GpakHpi.h (removed), drivers/dahdi/wctdm24xxp/Kbuild, drivers/dahdi/voicebus.c (removed), drivers/dahdi/voicebus.h (removed), drivers/dahdi/vpmadt032_loader (added), drivers/dahdi/wcte12xp/GpakApi.c (removed), drivers/dahdi/wcte12xp/gpakenum.h (removed), drivers/dahdi/Kbuild, drivers/dahdi/voicebus/gpakenum.h (added), drivers/dahdi/voicebus/GpakApi.c (added), drivers/dahdi/adt_lec.c, drivers/dahdi/wcte12xp/GpakApi.h (removed), drivers/dahdi/voicebus/GpakApi.h (added), drivers/dahdi/voicebus/GpakCust.c (added), drivers/dahdi/wctdm24xxp/gpakenum.h (removed), drivers/dahdi/voicebus/gpakErrs.h (added), drivers/dahdi/wctdm24xxp/GpakCust.c (removed), drivers/dahdi/voicebus/GpakCust.h (added), drivers/dahdi/voicebus/GpakHpi.h (added), drivers/dahdi/wctdm24xxp/gpakErrs.h (removed), drivers/dahdi/firmware/Makefile, drivers/dahdi/voicebus/vpmadtreg.c (added), drivers/dahdi/wctdm24xxp/GpakCust.h (removed), drivers/dahdi/voicebus/vpmadtreg.h (added), drivers/dahdi/wctdm24xxp/wctdm24xxp.h: voicebus: Move common vpmadt032 interface into voicebus module. The voicebus library was previously linked into both the wcte12xp and wctdm24xxp drivers. It is now broken out into it's own module and the common parts of the vpmadt032 interface are now located in that module to reduce duplication between the wcte12xp and wctdm24xxp drivers. * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Change netif_rx_xxx to napi_xxx The netif_rx_xxx functions were dropped from the linux kernel source on 2009-01-21 in commit 288379f050284087578b77e04f040b57db3db3f8. (closes issue #14963) Reported by: tzafrir * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/vpmadt032.c, drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp: Update cmdqueue processing. The command queue for reading from the registers on the framer is now stored in a linked_list instead of an array. Allows for the locks to protect this structure to be held for shorter periods of time and reduces the need to cycle through all the elements in the array to decide if there is a command in the queue to process. Remove the usecount and dead members from struct t1 since the module reference count will allow us to know when it's safe to free up the memory. This change also moves alarm processing out of the interrupt handler and removes the need for special interrupt handling of commands. * drivers/dahdi/dahdi_dummy.c: dahdi_dummy: Remove real-time clock support. This removes support for using the real-time clock as a timing source in dahdi_dummy. Instead, the normal kernel timers method is now more accurate since it keeps track of how much real time has passed to determine how many times to call dahdi_receive and dahdi_transmit. This method was originally suggested by bmd. (closes issue #13930) (closes issue #14884) Reported by: tzafrir Tested by: dbackeberg, ask * drivers/dahdi/voicebus.c: voicebus: Removing unused code blocks and space in flag definitions. 2009-04-27 20:03 +0000 [r6513] Tzafrir Cohen * drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/Kbuild: xpp: hard_hdlc support for the BRI module. The BRI module will now use hardhdlc unless the DAHDI tree has been patched with the bri_dchan patch, in which case the old "bristuffed" code will be used. Thus it is now built by default. 2009-04-25 16:35 +0000 [r6487] Tzafrir Cohen * build_tools/live_dahdi: adapt live_dahdi to current xpp tools * More varibles to set through the environment * Different way to list drivers 2009-04-23 15:11 +0000 [r6457-6466] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/PIC_TYPE_3.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_4.hex, drivers/dahdi/xpp/firmwares/USB_FW.hex, drivers/dahdi/xpp/firmwares/FPGA_1161.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_1.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex: Don't set the Id keyword on firmwares; restore original ID The Id SVN keyword is set locally in Xorcom and used as an identifier. That Id should not be overriden by this SVN repository. * drivers/dahdi/xpp/firmwares/FPGA_1161.hex: xpp: FPGA_1161.hex: fix FXO PCM issues (new boards only) FPGA_1161.hex rev. 7024. 2009-04-22 12:53 +0000 [r6444] Kevin P. Fleming * drivers/dahdi/dahdi-base.c: don't refer to macros from dahdi_config.h until after it has been included use the proper type for the flags variable in dahdi_ppp_xmit() 2009-04-21 22:16 +0000 [r6430] Tzafrir Cohen * include/dahdi/user.h, include/dahdi/kernel.h: Move DAHDI_DEFAULT_MTU_MRU from kernel.h to user.h The macro DAHDI_DEFAULT_MTU_MRU needs to be exposed to userspace to build tools/ppp/dahdi.c . 2009-04-20 10:49 +0000 [r6407-6409] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/PIC_TYPE_3.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_4.hex, drivers/dahdi/xpp/firmwares/FPGA_1161.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_1.hex, drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex: xpp firmware: stability fixes for firmwares of new Astribanks FPGA_1161.hex: xpp rev 7007 PIC_TYPE_*.hex: xpp rev 7000 * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/xpp_dahdi.h, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_fxs.c: xpp: Do use information about number of ports the Astribank provides * drivers/dahdi/xpp/init_card_1_30: xpp: Fix FXS calibration (dec rather than hex) 2009-04-16 19:35 +0000 [r6376-6393] Tzafrir Cohen * drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/init_card_1_30, drivers/dahdi/xpp/init_card_2_30: xpp fxs/fxo: PCM and DTMF fixes * drivers/dahdi/xpp/card_fxs.c: xpp fxs: Notify the user just one about wrong VMWI config From xpp rev. 6974. * drivers/dahdi/xpp/card_fxs.c: xpp fxs: Ignore registers of disabled SLICs From xpp rev. 6979 * drivers/dahdi/xpp/card_bri.c: xpp bri: explicitly turn off leds on startup If NT/TE was changed (e.g: happened because of firmware bug) We would be left with a lit led we don't know about. From xpp rev. 6990 2009-04-10 09:53 +0000 [r6344] Tzafrir Cohen * drivers/dahdi/xpp/astribank_hook.sample (removed): Move astribank_hook from linux to tools. Install it by default 2009-04-04 14:22 +0000 [r6325] Tzafrir Cohen * Makefile: Also install dahdi_config.h to /usr/include/dahdi 2009-04-02 20:34 +0000 [r6301-6312] Tzafrir Cohen * drivers/dahdi/xpp/astribank_hook.sample: Update the sample udev astribank_hook for TwinStar * drivers/dahdi/xpp/firmwares/PIC_TYPE_3.hex (added), drivers/dahdi/xpp/xpp.rules, drivers/dahdi/xpp/firmwares/PIC_TYPE_4.hex (added), drivers/dahdi/xpp/.version, drivers/dahdi/xpp/firmwares/FPGA_1161.hex (added), drivers/dahdi/xpp/firmwares/USB_FW.hex, drivers/dahdi/xpp/firmwares/Makefile, drivers/dahdi/xpp/firmwares/PIC_TYPE_1.hex (added), drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex (added): XPP: support for 116x Astribanks. * New software to load in the udev rules * New control protocol ("MPP") * More modular FPGA firmware From Xorcom rev. 6963. * drivers/dahdi/xpp/xbus-pcm.c: Reduce the rate for a potentially annoying message This message is used when an xpp span is a DAHDI sync master but also set to take timing from the DAHDI master. This means wrong settings: user is wasting CPU cycles. However notifying the user about it every second is still too much. 2009-04-02 17:27 +0000 [r6285-6294] Kevin P. Fleming * drivers/dahdi/dahdi-base.c: ensure that the structure being returned by DAHDI_GET_BUFINFO is completely initialized 2009-03-26 18:33 +0000 [r6262] Wendell Thompson * drivers/dahdi/voicebus.c: Fixes DAHDI-214 crash on driver unload. Affects wcte12xp and wctdm24xxp modules. 2009-03-24 19:08 +0000 [r6237-6246] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Eliminate unnecessary checks for NULL before freeing memory. * drivers/dahdi/wctc4xxp/base.c: Do not allocate more memory than is needed when sending packets. * drivers/dahdi/wctc4xxp/base.c: Block runt packets from the transcoder. Tested by: Walter Klomp * drivers/dahdi/wctc4xxp/base.c: Do not define the debug flags if CONFIG_SLUB is not set. Some versions of the kernel (2.6.18-92.1.22.el5) have patches in them to panic if a slab cache is created with unsupported flags. 2009-03-24 15:59 +0000 [r6236] Tzafrir Cohen * drivers/dahdi/dahdi-base.c: Make sure the requested echo canceller name is NULL-terminated. Make sure that the that the name of the echo canceller requested in the DAHDI ioctl DAHDI_ATTACH_ECHOCAN is NULL-terminated. 2009-03-23 23:49 +0000 [r6217-6228] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Verify checksum on the RTP IP header before queueing. * drivers/dahdi/wctc4xxp/base.c: Poll the card in a kernel timer when several channels are open. Polling the driver increases overall system throughput when there are several transcoding channels open by reducing the number of interrupts the the TC400M generates. * drivers/dahdi/wctc4xxp/base.c: Optionally show total number of packets dropped when channel is closed. * drivers/dahdi/wctc4xxp/base.c: Do not handle duplicate reponses. It is possible for system activity to prevent the wctc4xxp driver from responding the the firmware on the TC400M for a period of time. If this occurs, the TC400M will resend a response to a command that we sent. This duplicate reponse will then sometimes confuse the driver. Normally this would manifest as an attempt to connect the same channel together in a transcoding session. * drivers/dahdi/wctc4xxp/base.c: Set TX_COMPLETE atomically with changes to the waiting_for_response_list. This change is to catch a condition where it is possible, for whatever reason, for a response to come in before the request is marked tx complete. If this happened, it was possible to leak the response packet and double complete the command. * drivers/dahdi/wctc4xxp/base.c: split send_trans_connect into a connect / disconnect pair. Trivial change that makes the code read more naturally. Also changes the order of members in the channel_pvt structure. For more natural alignment. Both non-functional changes. * drivers/dahdi/wctc4xxp/base.c: If the driver fails to register, make sure we cleanup the command cache. * drivers/dahdi/wctc4xxp/base.c: Setup the TC400M to poll the own bit on the descriptor ring. On certain systems having the hardware poll the descriptor ring provides more reliable operation that strobbing the transmit demand poll and receive demand poll register. * drivers/dahdi/wctc4xxp/base.c: Make sure that messages sitting in the outbound queue cause the timer to reschedule. * drivers/dahdi/wctc4xxp/base.c: Refactor channel command handling. Makes commands and reponses clearer and easier to trouble shoot, reduces pressure on the stack, and brings driver closer to kernel coding standards. 2009-03-18 18:48 +0000 [r6201] Jason Parker * drivers/dahdi/dahdi_dynamic_loc.c: Fix a typo 2009-03-17 17:59 +0000 [r6170-6191] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/USB_FW.hex: xpp USB_FW.hex rev 6885: fixes reading label from USB Previous USB_FW.hex, 6770, has failed to properly read the USB iSerial field ("Label" in xpp terms). This is fixed here. * include/dahdi/dahdi_config.h (added), include/dahdi/kernel.h, drivers/dahdi/xpp/Kbuild, drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_config.h (removed): Move dahdi_config.h to be under include/dahdi/ This makes dahdi_config.h part of the "offcial" interface to external modules. Practically most of its configuration items are internal to dahdi-base. But some are intended for other drivers. * drivers/dahdi/biquad.h, include/dahdi/kernel.h, drivers/dahdi/ecdis.h, drivers/dahdi/dahdi-base.c: Make ecdis.h used by dahdi-base.h alone ecdis.h is no longer #include-d in kernel.h . it was there because of decleration of some structs that are part of struct dahdi_chan. The declerations of those structs were moved into kernel.h directly. 2009-03-13 10:21 +0000 [r6134-6147] Tzafrir Cohen * drivers/dahdi/dahdi-base.c: Fix handling of 'w' in a pulse dial string Make the special "digit" 'w' work in pulse dialing as it works with tone dialing (a delay of 0.5 second till the next digit). Note that the digit gets uppercased before it gets to this function. (closes issue #13999) Reported by: IgorG Patches: dahdi-base.c.pulse2.diff uploaded by tzafrir (license 46) Tested by: litnimax * drivers/dahdi/xpp/xpp.conf: A better sample xpp.conf * drivers/dahdi/xpp/init_card_3_30, drivers/dahdi/xpp/init_card_4_30, drivers/dahdi/xpp/init_card_1_30, drivers/dahdi/xpp/init_card_2_30: xpp init_card_* scripts now less verbose * Demote some messages to be debug messages. * Rephrase the message about defaults for the PRI module (the driver's defaults are used, which is OK) * drivers/dahdi/dahdi-base.c: Fix handling of DAHDI_GETGAINS_V1 missing from r6124 . 2009-03-11 14:51 +0000 [r6113-6126] Shaun Ruffell * drivers/dahdi/voicebus.c: Allow 10ms for voicebus hardware to settle after reset. The voicebus hardware needs more time to settle after a reset. The short settle time explains why there was frequently one IRQ miss reported in the proc file for the spans. Reported by: jsloan * drivers/dahdi/wct4xxp/base.c: Relax ident wheel requirements. Do not require the first card to be set to 0 and allow skips in the ident wheel numbers. The ident wheel allows a user to determine the order that cards register there spans with DAHDI. (closes issue #13078) Reported by: opticron Patch by: opticron * include/dahdi/user.h, drivers/dahdi/dahdi-base.c: Fix direction bits on several ioctls. (related to issue #14499) Reported by: ys * include/dahdi/kernel.h, drivers/dahdi/dahdi_transcode.c: Keep transcoders on a list in registration order. This fixes a bug where it was possible for there to be a transcoder in position "1" but not in position "0" if a transcoder hardware driver was loaded, unloaded, and reloaded again without also reloading dahdi_transcode. The result is that codec_dahdi fails to enumerate all the transcoders in the system. (closes issue #14627) Reported by: xblurone * drivers/dahdi/dahdi-base.c: Eliminating an unused parameter to dahdi_specchan_open. 2009-03-06 21:43 +0000 [r6096] Wendell Thompson * drivers/dahdi/xpp/xpp_usb.c, drivers/dahdi/wctc4xxp/base.c, drivers/dahdi/voicebus.c: Workarounds for SLUB sysfs problems in kernel 2.6.22 with CONFIG_SLUB and CONFIG_SLUB_DEBUG, as in Fedora Core 6. Fixes kernel oops when loading/unloading dahdi modules. DAHDI-226 2009-03-05 18:53 +0000 [r6079] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/FPGA_1141.hex, drivers/dahdi/xpp/firmwares/FPGA_1151.hex, drivers/dahdi/xpp/firmwares/FPGA_FXS.hex: xpp: FPGA firmwares 6799 New FPGA firmware with a number of bug fixes. 2009-03-01 13:56 +0000 [r6046] Tzafrir Cohen * drivers/dahdi/xpp/init_card_3_30, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/.version, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/xpp_dahdi.h, drivers/dahdi/xpp/firmwares/USB_FW.hex, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xframe_queue.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/Changelog_xpp, drivers/dahdi/xpp/card_global.h, drivers/dahdi/xpp/xbus-pcm.c: New XPP code: xpp rev 6795: * Fix cases where the command_queue overflowed during initialization. - Also add a 'command_queue_length' parameter to xpp.ko * More migrations to sysfs: - Add a 'transport' attribute to our astribank devices which points to the usb device we use. E.g: /sys/bus/astribanks/devices/xbus-00/transport is symlinked to ../../../../../../devices/pci0000:00/0000:00:10.4/usb5/5-4 - Move /proc/xpp/XBUS-??/XPD-??/span to /sys/bus/xpds/devices/??:?:?/span - Migrate from /proc/xpp/sync to: /sys/bus/astribanks/drivers/xppdrv/sync - New 'offhook' attribute in: /sys/bus/xpds/devices/??:?:?/offhook * PRI: change the "timing" priority to match the convention used by other PRI cards -- I.e: lower numbers (not 0) have higher priority. * FXO: - Power denial: create two module parameters instead of hard-coded constants (power_denial_safezone, power_denial_minlen). For sites that get non-standard power-denial signals from central office on offhook. - Don't hangup on power-denial, just notify Dahdi and wait for - Fix caller-id detection for the case central office sends it before first ring without any indication before. Asterisk's desicion. * USB_FW.hex: - Fixes cases where firmware loading would fail. 2009-02-11 05:41 +0000 [r6005] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Use the proper pci_device when handling dma buffers. 2009-02-10 14:07 +0000 [r5997] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Set default alarm debounce time to 500ms to debounce NT L1 deactivations 2009-02-09 06:03 +0000 [r5987] Tzafrir Cohen * drivers/dahdi/xpp/xproto.c: Fix building DAHDI with module unloading disabled As moduel_refcount is only used for debugging, disable it in this non-common case. (Closes issue #14402) 2009-02-02 14:13 +0000 [r5936] Kevin P. Fleming * drivers/dahdi/dahdi_echocan_kb1.c, drivers/dahdi/hpec/dahdi_echocan_hpec.c, include/dahdi/kernel.h, drivers/dahdi/dahdi_echocan_jpah.c, drivers/dahdi/dahdi_echocan_mg2.c, drivers/dahdi/dahdi_echocan_oslec.c, drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_echocan_sec.c, drivers/dahdi/hpec/hpec.h, drivers/dahdi/dahdi_echocan_sec2.c: Array-style echo canceller updates first appeared in Zaptel, because HPEC only supports that mode. However, when the function for doing array-style updates was written, the argument names were reversed. In Zaptel this did no harm, because HPEC was the only module that used array-style updates. When DAHDI was created, non-array-style updates were removed, and the existing modules were converted to using array-style updates. Unfortunately the new code was written based on the argument names, which were incorrect. This caused all the echo cancellers to be broken (except HPEC, although we did not know that at the time), and it was corrected by reversing the order of the arguments passed when the array-style update function was called (leading to a confusing mismatch). This fixed all the non-HPEC modules, but left HPEC broken, which was just discovered. This commit corrects all these problems, so that the argument names and the data passed actually make sense, and all the modules work properly. 2009-01-30 23:42 +0000 [r5924] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Make sure that we pass alarm notification up the stack whenever alarms occur on the B410P 2009-01-30 16:53 +0000 [r5916] Mike Spiceland * drivers/dahdi/wctdm24xxp/base.c: Do a stricter test for FXS modules. FXO modules will be hi-z during this time and the value will be undefined. This test ensures that FXO modules will not falsely trigger during FXS probes. The value of 0x88 from register 1 has been confirmed during this stage on quad and single port modules. 2009-01-28 23:17 +0000 [r5895] Richard Mudgett * include/dahdi/user.h: Minor comment rearangement to avoid possible confusion. 2009-01-28 04:41 +0000 [r5870] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: Ensure the teignorered parameter is exposed as a module parameter. Related to issue #14031 . 2009-01-27 Shaun Ruffell * dahdi-linux version 2.1.0.4 released. * Fix for a kernel panic regression when heavily using pseudo channels (issue #14183) (merged r5811 and r5819 from the trunk) * Fix the safety check in tor2 to be for SPANS_PER_CARD (issue #13954) (merged r5590 from the trunk). 2008-12-17 Shaun Ruffell * dahdi-linux version 2.1.0.3 released. 2008-12-17 15:57 +0000 [r5535-5576] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: Do not propogate received HDLC frames on channels that are not configured. Issue: DAHDI-217 * drivers/dahdi/wcb4xxp/base.c: Use %p to print out pointer values. * drivers/dahdi/wcb4xxp/base.c: Remove an endless while loop. * drivers/dahdi/wcte12xp/base.c: Quiet some warnings about possible use of uninitialized variables. * build_tools/live_dahdi: live_dahdi: Use the nonrelative path for the dahdi-tools folder in live_dahdi. 2008-12-15 Shaun Ruffell * dahdi-linux version 2.1.0.2 released. 2008-12-15 20:31 +0000 [r5534-5535] Shaun Ruffell * build_tools/live_dahdi: live_dahdi: Use the nonrelative path for the dahdi-tools folder in live_dahdi. * drivers/dahdi/wcte12xp/base.c: wcte12xp: do not release a spinlock that we did not acquire. 2008-12-12 14:32 +0000 [r5523] Kevin P. Fleming * drivers/dahdi/dahdi-base.c: use a format string for request_module, so the compiler will do the right thing 2008-12-11 Shaun Ruffell * dahdi-linux version 2.1.0.1 released. 2008-12-11 21:46 +0000 [r5509] Shaun Ruffell * include/dahdi/kernel.h: Add definition of dev_notice for kernels < 2.6.17. 2008-12-11 21:03 +0000 [r5498-5504] Tzafrir Cohen * drivers/dahdi/xpp/xbus-sysfs.c: One more place whe old-but-not-ancient hotplug is used. * drivers/dahdi/dahdi_echocan_oslec.c: Send all samples to OSLEC, rather than just the first. (closes issue #14036) Reported by: marcotasto Patches: dahdi_echocan_oslec.patch uploaded by marcotasto (license 635) * drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xdefs.h: Add a separate case for hotplug of kernels <= 2.6.9 . 2008-12-11 20:19 +0000 [r5497] Shaun Ruffell * drivers/dahdi/dahdi_dummy.c: If we're using the system tick, don't use the hrtimer interface. 2008-12-11 18:57 +0000 [r5482-5492] Tzafrir Cohen * drivers/dahdi/xpp/xbus-sysfs.c: Fix the xpp OLD_HOTPLUG fix. * drivers/dahdi/dahdi_dummy.c: Fix building dahdi_dummy for kernels 2.6.13, 2.6.14: Those kernels don't have RTC yet. * drivers/dahdi/wcb4xxp: Yet Another directory in which to ignore modules.order * drivers/dahdi/wcb4xxp/base.c: Remove an include that is not available before 2.6.15 and is not needed * drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.h: A bit less maigc with OLD_HOTPLUG_SUPPORT * drivers/dahdi/dahdi-base.c: Fixed a typo that broke building dahdi-base with kernels < 2.6.13 2008-12-11 16:43 +0000 [r5481] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Fix compilation issues on 2.6.15 and below kernels. Thanks tzafrir. 2008-12-09 Shaun Ruffell * dahdi-linux version 2.1.0 released. 2008-12-09 18:49 +0000 [r5453] Tzafrir Cohen * live_dahdi (added): live_dahdi - test dahdi without fully installing it. 2008-12-06 22:23 +0000 [r5444] Tzafrir Cohen * drivers/dahdi/xpp, drivers/dahdi/wcte12xp, drivers/dahdi, drivers/dahdi/wct4xxp, drivers/dahdi/wctc4xxp, drivers/dahdi/wctdm24xxp: Ignore modules.order in modules directories. 2008-12-04 20:57 +0000 [r5433-5434] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Fix an erroneous warning and ensure that the sample size is set correctly when decoding G723 packets. Issue: DAHDI-198 * drivers/dahdi/dahdi_transcode.c: Do not use an already built channel if the source and destination formats do not match the formats we want. This fixes a regression introduced by the new transcoder interface where a translation path from one complex codec to another can result in garbled audio. 2008-12-01 17:58 +0000 [r5413-5420] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Service the transmit descriptor ring before the receive descriptor ring so that commands that are still sitting on the transmit descriptor ring are not completed twice. 2008-11-27 09:59 +0000 [r5397-5403] Tzafrir Cohen * Makefile: dahdi-linux: Remove README.Astribank.html generation. * drivers/dahdi/xpp/README.Astribank (removed): Moving README.Astribank to dahdi-tools . * drivers/dahdi/xpp/README.Astribank: Fixes and some work in progress on DAHDI Astribank README. 2008-11-25 20:00 +0000 [r5384] Shaun Ruffell * drivers/dahdi/wcte11xp.c, drivers/dahdi/wct1xxp.c: Validate the timing priority on the wcte11xp and wct1xxp driver. 2008-11-25 Shaun Ruffell * dahdi-linux version 2.1.0-rc5 released. 2008-11-25 20:00 +0000 [r5383-5384] Shaun Ruffell * drivers/dahdi/wcte11xp.c, drivers/dahdi/wct1xxp.c: Validate the timing priority on the wcte11xp and wct1xxp driver. * drivers/dahdi/tor2.c: Validate that the span priority is valid in the tor2 driver. Patch provided by tzafrir. 2008-11-24 05:32 +0000 [r5367-5374] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: Additional debugging code. Patch provided by akohlsmith. Issue DAHDI-173. * drivers/dahdi/wcb4xxp/base.c: Add a 'spanfilter' module parameter in order to isolate debugging information to just the spans of interest. Patch provided by akohlsmith. Issue DAHDI-173. * drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wcb4xxp/wcb4xxp.h: Use counter of pending HDLC frames in order to eliminate the need to send a zero-byte frame to kick start the transmission process. Patch provided by akohlsmith. Issue DAHDI-173. * drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wcb4xxp/wcb4xxp.h: Do not make assumptions about the number of ready HDLC frames on HDLC RX interrupt. This prevents libpri from becoming confused when many HDLC frames arrive before the driver can service them or a false RX interrupt is received. Patch provided by akolsmith. Issue DAHDI-173. 2008-11-21 20:15 +0000 [r5360] Jason Parker * drivers/dahdi/dahdi-base.c: Fix a think-o in numeric comparison. Swap order to make it more clear. (closes issue #13813) Reported by: ys 2008-11-21 04:42 +0000 [r5350-5355] Shaun Ruffell * drivers/dahdi/dahdi-base.c: Convert some uses of sprintf to snprintf in dahdi_proc_read in order to eliminate a buffer overrun. Issue: DAHDI-209 * drivers/dahdi/wcb4xxp/base.c: Force the FIFO to reset when the file handle is closed. Patch provided by akohlsmith. Issue: DAHDI-178 2008-11-20 12:31 +0000 [r5340-5345] Tzafrir Cohen * drivers/dahdi/tor2.c: Make tor2 load properly. Seems to fix #13487. Thanks to heyuqi for the testing. * drivers/dahdi/xpp/README.Astribank: * Some extrra Zap->DAHDI (and Dahdi->DAHDI) fixes in the Astribank README. * Some extra asciidoc formatting fixes. 2008-11-19 21:25 +0000 [r5335] Kevin P. Fleming * drivers/dahdi/wcb4xxp/Makefile (added): support wcb4xxp build on kernels that don't directly use Kbuild 2008-11-17 18:17 +0000 [r5321] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: - Fix for race condition of encoder and decoder are allocated at the same time in the driver. This would result in -EBUSY returns from the DAHDI_TC_ALLOCATE ioctl. - Increase the length of the receive descriptor ring from 8 to 32 to reduce the probability of running out of receive descriptors. 2008-11-17 Shaun Ruffell * dahdi-linux version 2.1.0-rc4 released. 2008-11-17 18:17 +0000 [r5321] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: - Fix for race condition of encoder and decoder are allocated at the same time in the driver. This would result in -EBUSY returns from the DAHDI_TC_ALLOCATE ioctl. - Increase the length of the receive descriptor ring from 8 to 32 to reduce the probability of running out of receive descriptors. 2008-11-17 18:01 +0000 [r5320] Tzafrir Cohen * drivers/dahdi/xpp/init_card_4_30, drivers/dahdi/xpp/card_pri.c: xpp_pri: Fix T1 CRC initialization Clock synchronization when sync is not from first port. 2008-11-17 17:44 +0000 [r5315] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/wcb4xxp/wcb4xxp.h: A fix for an issue with corruption on the D-Channels. Patch provided by akohlsmith. Issue: DAHDI-173. 2008-11-16 19:30 +0000 [r5310] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/USB_FW.hex: Fixed USB firmware that caused some bad bioses to hang on boot. The BIOSes included in a number of motherboards could hang from an Astribank firmware newer than 1.2.20.1 / 1.4.5.1 . This was due to an some incorrect USB information in the firmware. This firmware fixes it. Merged Zaptel revisions 4580 via svnmerge from http://svn.digium.com/svn/zaptel/branches/1.2 2008-11-13 22:10 +0000 [r5303] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/voicebus.c, drivers/dahdi/voicebus.h: Make a message about the host cacheline size being unsupported a debug only message. The voicebus interface still works whether the cacheline size is supported or not, but the message is confusing to users. 2008-11-10 20:37 +0000 [r5288] Tzafrir Cohen * drivers/dahdi/xpp/init_card_2_30: xpp init_card_2_30: no need to check environment in verify mode. Fixes #13832 in Zaptel. 2008-11-10 Shaun Ruffell * dahdi-linux version 2.1.0-rc3 released. 2008-11-10 19:48 +0000 [r5275] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/dahdi-base.c: - 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 2008-11-09 00:33 +0000 [r5269-5270] Sean Bright * drivers/dahdi/dahdi-base.c: We only use print_debug_writebuf when CONFIG_DAHDI_NET or CONFIG_DAHDI_PPP are defined, so only define it in those cases as well. Reported & Tested by: KP7 via #asterisk-dev * drivers/dahdi/dahdi-base.c: Add missing semi-colon. Reported & Tested by: KP7 via #asterisk-dev 2008-11-05 23:45 +0000 [r5249-5257] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: Whitespace changes for the coding standard. * drivers/dahdi/wcb4xxp/base.c: rate limiting a diagnostic printk. 2008-11-05 Shaun Ruffell * dahdi-linux version 2.1.0-rc2 released. 2008-11-05 20:17 +0000 [r5230-5237] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Fix warning messages in order to build on 2.6.27. (Closes issue #13757) Patch provided by tzafrir. * drivers/dahdi/wcte12xp/vpmadt032.c, drivers/dahdi/wctdm24xxp/GpakCust.c: Check the return value of the down_interruptible call in order to quiet a warning. This semaphore does not protect any host data structures, but only accesses to the VPMADT032 module. The worse thing that could happen is that the internal state of the VPM module is corrupted, and then would only happen on module loading because otherwise access because that is the only time this function is called in the context of a user process. In this case, the module would need to be reloaded again anyway. (Closes issue #13742) Reported by smurfix * drivers/dahdi/wcb4xxp/base.c: Remove the loopback module parameter since it's not implemented yet. * drivers/dahdi/wcb4xxp/base.c: Allow the wcb4xxp to take all the signalling types. 2008-11-03 Shaun Ruffell * dahdi-linux version 2.1.0-rc1 released. 2008-11-03 12:01 +0000 [r5203-5211] Tzafrir Cohen * drivers/dahdi/dahdi_dummy.c: Adjust DAHDI to the new timers interface of kernel 2.6.28 * drivers/dahdi/dahdi-base.c: dahdi-base: hw_echocancel_off: return 0 if no hardware EC If the span has no hardware EC, return 0, rather than a random uninitialized value (which was no harm, as that return value is always ignored anyway). * README: README: no need to generate Kbuild for OSLEC. No need to create a Kbuild file. staging/echo has a Makefile that works fine for us. 2008-10-31 22:23 +0000 [r5196] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: Changing the spantype to indicate whether it is a TE or NT BRI port. 2008-10-31 21:33 +0000 [r5195] Matthew Fredrickson * drivers/dahdi/wcb4xxp/base.c: Fix the FIFO configuration to use the data from the EC correctly 2008-10-31 21:05 +0000 [r5190-5191] Tzafrir Cohen * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Set the spantype to "BRI" (to show e.g. in dahdi_scan) * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Claim to provide DACS for dahdi_scan dahdi_scan can tell that a span is digital if its first channel has DACS signalling capability. While this is probably not supported by the current driver, it is also harmless. Without this, dahdi_scan shows the spans of this card as analog. (Done after consulting with sruffel) 2008-10-31 17:11 +0000 [r5186] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: Fix for a case where a span might not always come back up after a disconnect. Patch provided by akohlsmith. Issue: DAHDI-174 2008-10-30 19:16 +0000 [r5179-5180] Tzafrir Cohen * drivers/dahdi/dahdi-base.c: Use correct length for the, well, dahdi transcoder device name. * drivers/dahdi/dahdi-base.c: Use ! to hint udev about directory separator. Udev knows how to convert a '!' in the device name to a directory separator. Thus the name 'dahdi!ctl' will create the device /dev/dahdi/ctl . We still keep older udev rules in this release for compatibility, but eventually we'll only need them to set permissions. 2008-10-29 16:48 +0000 [r5171-5175] Shaun Ruffell * drivers/dahdi/wcb4xxp/base.c: The /proc/wcb4xxp should not be created once for each card but rather once for all cards. * drivers/dahdi/wcb4xxp/base.c: By default, do not create the procfs entry for the wcb4xxp driver. 2008-10-29 15:09 +0000 [r5167] Tzafrir Cohen * drivers/dahdi/xpp/xbus-core.c: xpp: Increase the maximal size of the command queue to 500 . Temporarily increase the maximal size of the command queue from 300 to 500 as a workaround of an issue at initialization time (mainly of BRI+FXS). 2008-10-28 21:59 +0000 [r5156-5163] Kevin P. Fleming * drivers/dahdi: update to latest octasic_api tag with NULL definition fix * drivers/dahdi/tor2.c, drivers/dahdi/wcfxo.c, drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/GpakApi.c, drivers/dahdi/pciradio.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wcte12xp/vpmadt032.c, drivers/dahdi/wctc4xxp/base.c, drivers/dahdi/dahdi_echocan_mg2.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/wctdm24xxp/GpakApi.c, drivers/dahdi/wcte12xp/vpmadt032.h, drivers/dahdi/wctdm24xxp/GpakCust.c, drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/dahdi_dynamic_loc.c, drivers/dahdi/dahdi_transcode.c, drivers/dahdi/wcte11xp.c, drivers/dahdi/dahdi_dynamic.c, drivers/dahdi/dahdi_dynamic_eth.c, drivers/dahdi/wct1xxp.c, drivers/dahdi/wctdm.c, drivers/dahdi/wcb4xxp, drivers/dahdi/voicebus.c, drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_dummy.c: fix a large number of warnings found by sparse, the kernel code sanity checking tool. some of these fixes are non-optimal (casting 'unsigned long' to '__user void *'), but are unavoidable in many cases. started from tzafrir's patch, did most of the work myself. (closes issue #13763) Reported by: tzafrir Patches: sparse_fixes_1.diff uploaded by tzafrir (license 46) * README: various cleanups, primarily proper capitalization 2008-10-28 18:26 +0000 [r5148-5150] Shaun Ruffell * drivers/dahdi/wcb4xxp/Kbuild (added), drivers/dahdi/Kbuild, drivers/dahdi/wcb4xxp/base.c (added), drivers/dahdi/wcb4xxp (added), drivers/dahdi/wcb4xxp/wcb4xxp.h (added), README: Adding the wcb4xxp driver, a native dahdi driver for the B410P module. 2008-10-27 19:27 +0000 [r5127-5138] Tzafrir Cohen * README: dahdi linux README: Clarify OSLEC EC build procedure. * drivers/dahdi/xpp/card_fxo.c: xpp fxo: Add sysfs battery attribute. * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/xbus-core.h: xpp: remove an unused manual reference count field. * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-sysfs.c: xpp: Make some definitions static, as per sparse. Fixes the xpp warnings of #13763 (except some false alarms). * drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xdefs.h: Fix xpp compile problems on kernel < 2.6.16 Support for kernels that use the older hotplug support rather than the newer uevent. Fixes the xpp issue from #13427. * include/dahdi/kernel.h: kernel.h: cleanup DAHDI_FLAG_* defines, no functional change. Define the DAHDI_FLAG_* using the DAHDI_FLAGBIT_* enum values. 2008-10-22 18:49 +0000 [r5121-5124] Jason Parker * build_tools/genudevrules: Need to make sure we check for udevadm in addition to udevinfo. Some silly person (or people) decided that it wasn't useful to have in their distro... *cough* * drivers/dahdi/wctdm.c: Fix building on big endian machines. (closes issue #13754) Reported by: shrift Patches: wctdm-powerpc.patch uploaded by irroot (license 52) Tested by: shrift 2008-10-22 11:44 +0000 [r5105-5118] Tzafrir Cohen * drivers/dahdi/wct1xxp.c: wct1xxp: fix error handling at device startup. And also give more useful error messages if things go bad. (closes issue #13607) Patches: wct1xxp_pci.diff uploaded by tzafrir (license 46) Tested by: klaus3000 * drivers/dahdi/xpp/init_card_1_30: xpp FXS init script: Do use high-pass filter. * drivers/dahdi/Kbuild, drivers/dahdi/dahdi_echocan_oslec.c (added), README: An experimental OSLEC echocan module. * /: dahdi-trunk: ignore the generated README.html . * README: dahdi-linux README: better place for build requirements. (We'll have to put a content there one of these days) * README: Fix headers numbering. 2008-10-16 17:40 +0000 [r5097] Tzafrir Cohen * drivers/dahdi/xpp/xpp.rules, drivers/dahdi/xpp/xpp_usb.c, drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/xpp/xframe_queue.c, drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/Kbuild, drivers/dahdi/xpp/card_fxs.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/xproto.c, drivers/dahdi/xpp/xframe_queue.h, drivers/dahdi/xpp/astribank_hook.sample (added), drivers/dahdi/xpp/init_card_1_30, drivers/dahdi/xpp/xbus-pcm.c, drivers/dahdi/xpp/init_card_2_30, drivers/dahdi/xpp/card_global.h, drivers/dahdi/xpp/init_card_3_30, drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/init_card_4_30, drivers/dahdi/xpp/xpp_dahdi.h, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/mmapdrv.c, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xdefs.h: xpp: start migration from procfs to sysfs. * Sysfs representation for XPDs: /sys/bus/xpds/devices/:: * Astribanks sysfs directories now include the XPDs as subdirectories: e.g. /sys/bus/astribanks/devices/xbus-00/00:3:0 * procfs control interface deprecated: conditioned by OLD_PROC (defaults to off). Control functionality moved to sysfs: * xbus attributes: cls connector label status timing waitfor_xpds xbus_state * XPDs can have driver-specific attributes. Common attriubtes: blink chipregs span * PRI-specific attributes: pri_clocking pri_dchan pri_cas pri_alarms pri_layer1 pri_localloop pri_protocol * The Astribank attribute "xbus_state" is read/write. Reading it shows the current state of the Astribank. Writing "start" or "stop" allows a software equivalent of connect or disconnect respectively. * When an Astribank is ready it sends an "online" event. Whenever its not ready (e.g. at the time of disconnect) it sends an "offline" event. Use astribank_hook.sample to handle those. 2008-10-14 22:11 +0000 [r5090] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c: If the vpmadt032 firmware needs to be reloaded, make sure we use the same slot in the ifaces array. 2008-10-10 22:38 +0000 [r5084] Shaun Ruffell * drivers/dahdi/dahdi_transcode.c, drivers/dahdi/wctc4xxp/base.c: - Ensure that the source format is considered when selecting a transcoder. - When a command is to be retried, turn off the TX_COMPLETE flag before resubmitting it to the hardware. This should elimate some of the warnings printed to the kernel log in the wctc4xxp_transmit_cmd function. 2008-10-09 02:54 +0000 [r5068] Kevin P. Fleming * drivers/dahdi/dahdi-base.c: a micro-optimization found while creslin and i spent four or five hours tracking down a very complex problem 2008-10-06 20:52 +0000 [r5064] Kevin P. Fleming * drivers/dahdi/dahdi-base.c: use the same logic here as elsewhere for releasing echocan module references 2008-10-06 17:48 +0000 [r5060] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Embed room for the complete packet to the DTE in the transcoder buffer structure. Simplifies alignment management at the cost of a little wasted memory, but the end results is that operation is more reliable on more systems. 2008-10-06 16:55 +0000 [r5056] Sean Bright * drivers/dahdi/dahdi-base.c: Fix a few compile errors that only show up when CONFIG_DAHDI_PPP is defined. (closes issue #13608) Reported by: Nik Soggia Fix suggested by: Nik Soggia Tested by: seanbright 2008-10-03 20:32 +0000 [r5046-5051] Tzafrir Cohen * drivers/dahdi/dahdi-base.c: Fix building with CONFIG_DAHDI_NET in kernel 2.6.22 The leftovers of issues #13542 (which was mostly resolved in previous committ. This closes it. * drivers/dahdi/dahdi-base.c: Fix building with CONFIG_DAHDI_NET . It builds, but will it run? Patch dahdi-base.c.hdlc.patch by biohumanoid that fixes some aparant copy&paste errors. 2008-10-03 20:09 +0000 [r5045] Sean Bright * drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_config.h: Fix some compilation problems that show up when CONFIG_DAHDI_DEBUG is defined. 2008-10-03 15:39 +0000 [r5021-5034] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: There are two possible valid statues when booting the TC400M. * drivers/dahdi/wctc4xxp/base.c: Keep hold of the channel lock when setting the data_ready flag for the channel after writing to the receive queue. Prevents a warning that data was on the recieve queue but the data ready flag was not set. Issue: DAHDI-42 * drivers/dahdi/wctc4xxp/base.c: wctc4xxp_cleanup_channel_private needs a pointer to the zt_transcoder_channel and not just the private portion now in order to manage the data ready flag state. * drivers/dahdi/wctc4xxp/base.c: Mark that there is not any data waiting whenever we cleanup the private channel structures. Issue: DAHDI-42 * drivers/dahdi/dahdi-base.c: DAHDI should always make data received from the PSTN available to user mode immediately. Only allow the transmit buffering policy to be changed in order to reduce the chance of underruns to the PSTN. 2008-09-30 20:29 +0000 [r5017] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Removing references to setup_timer in pre 2.6.18 kernels. 2008-09-29 Shaun Ruffell * dahdi-linux 2.0.0 released. 2008-09-28 17:29 +0000 [r5002-5007] Shaun Ruffell * drivers/dahdi/wctdm.c: Improve reliablity of UK caller ID for the TDM400P by not allowing the ringdebounce to be decremented when it is at 0 already. Related to issue #12531. Reported mattbrown, fix suggested by benbrown. * drivers/dahdi/wcte12xp/base.c: Fixed type of flags parameter to spin_lock_irqsave functions. Fixes compilation issues on platforms where int and long do not have the same size. Closes Issues #0013575. Reported by Ulmo. * drivers/dahdi/dahdi_echocan_kb1.c, drivers/dahdi/dahdi_echocan_mg2.c, drivers/dahdi/dahdi-base.c, drivers/dahdi/dahdi_echocan_sec.c, drivers/dahdi/dahdi_echocan_sec2.c: Fixes failure of modular echo cancelers in DAHDI. Reported by lots of people, fix suggested by mattf. 2008-09-26 03:20 +0000 [r4990] Shaun Ruffell * drivers/dahdi/dahdi-base.c: The channel master should not be set to 0, but rather should be 'cleared' by setting the channel to be it's own master. (related to issue 11611) 2008-09-25 16:50 +0000 [r4979-4986] Tzafrir Cohen * drivers/dahdi/xpp/firmwares/FPGA_1151.hex: XPP firmware: Only send out CAS D-channel messages when in CAS mode. * drivers/dahdi/xpp/init_card_3_30, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/init_card_1_30, drivers/dahdi/xpp/init_card_2_30: Fix display of indirect registers and streamline their setting. * This commit fixes display of indirect registers through the chipregs (formly "slics") procfs file. Only the low byte was displayed. * It also deprecates previous {RW}S in favour of {RW}I. The prevois style is still allowed but deprecated, and thus previous scripts will still work. * drivers/dahdi/xpp/card_fxo.c: XPP FXO: Add caller-id workaround for ESTI-DTMF (for #9096) * Also rename the CID_STYLE_* constants to formal names. 2008-09-24 06:15 +0000 [r4971] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Adding back in the mode module parameter for the wctc4xxp driver. This is primarily used to increase the number of channels available when only transcoding to/from g729 by setting it to 'g729'. 2008-09-18 21:23 +0000 [r4957] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c: Adding a needed header for the in_atomic call. 2008-09-18 21:23 +0000 [r4956-4957] Shaun Ruffell * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/dahdi-base.c: close_channel is called with a spin_lock held, which means that GFP_KERNEL can not be used for the memory allocations down that call path. Have allocations in this call path check if they are in atomic context and use the appropriate flags. Issue: DAHDI-195 2008-09-17 19:07 +0000 [r4917-4930] Shaun Ruffell * README: Just moved a note into it's own paragraph so that asciidoc can make the appropriate callout. * README: Added a note about installing support for the B410P in the installation section of the README file. * drivers/dahdi/dahdi-base.c: Turn off reference counting on the echo canceller modules in order to prevent misconfigurations from preventing the drivers from unloading. NOTE: This is only a temporary workaround, since it also means that the echocanceller can be unloaded by an administrator while in use, which would most likely result in a kernel oops. Related to issue #13504. 2008-09-15 20:49 +0000 [r4905-4909] Shaun Ruffell * drivers/dahdi/wctdm.c, drivers/dahdi/dahdi-base.c: Edit some comments and error strings. Issue: DAHDI-13 * drivers/dahdi/wcte12xp/vpmadt032.c, drivers/dahdi/wctdm24xxp/base.c: Fixed two typos. 2008-09-11 23:00 +0000 [r4894-4900] Tzafrir Cohen * drivers/dahdi/dahdi-base.c: Fix a type used in nethdlc mode, as pointed out in #13427 . * drivers/dahdi/xpp/xpp.rules (added), Makefile: Move udev rules xpp.rules from dahdi-tools to dahdi-linux . 2008-09-08 Russell Bryant * dahdi-linux version 2.0.0-rc4 released. 2008-09-06 20:27 +0000 [r4868-4870] Matthew Fredrickson * drivers/dahdi/dahdi-base.c: Fix buglet in #define for 2.6.9 * drivers/dahdi/wct4xxp/base.c: Revert unnecessary default hardhdlc mode from 56K to 64K * drivers/dahdi/wct4xxp/base.c, drivers/dahdi/dahdi-base.c: Fix class_simple on old 2.6.9 kernels 2008-09-04 21:42 +0000 [r4865] Matthew Fredrickson * include/dahdi/fasthdlc.h: Some picky switches require the LSB to be 1 for 56k links 2008-09-04 21:29 +0000 [r4861-4864] Shaun Ruffell * drivers/dahdi/wct4xxp/base.c: Remove a couple of 'magic numbers' to make it clear all the ports of the framer should be configured. * drivers/dahdi/wct4xxp/base.c: Fixes an issue where the dual-span cards are not properly configured which can cause data loss. Fix provided by opticron and possibly related to issue #0013393. 2008-08-29 21:46 +0000 [r4856] Matthew Fredrickson * drivers/dahdi/dahdi-base.c: Remove useless kzalloc 2008-08-27 17:12 +0000 [r4848-4849] Kevin P. Fleming * drivers/dahdi/dahdi_dummy.c: remove some more ztdummy references * drivers/dahdi/wcfxo.c, drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wcte11xp.c, drivers/dahdi/wct1xxp.c, drivers/dahdi/wctc4xxp/base.c, drivers/dahdi/wctdm.c, drivers/dahdi/wctdm24xxp/base.c, README: a bit of attribution cleanup 2008-08-27 16:48 +0000 [r4847] Jason Parker * Makefile: Set a list of headers to install/uninstall, so the lists don't get out of sync (note the previously missing fasthdlc.h in the uninstall-include target) 2008-08-26 13:04 +0000 [r4829-4841] Tzafrir Cohen * Makefile: "docs" target to generate documentation. Generate docs with asciidoc. * drivers/dahdi/xpp/README.Astribank: Fix asciidoc. * Makefile: Don't try to clean modules if there's no kernel source available (like in Zaptel). * README: Reverting unwanted changes in the README (from r4830) Also fixed ZT references in the ABI compatibility section. The numerical ioctl values need to be recalculated, though. * README: Make the README file more relevant to modules. * drivers/dahdi/Kbuild, Makefile: Support MODULES_EXTRA and SUBDIRS_EXTRA to add extra modules from the make command line. 2008-08-25 17:50 +0000 [r4828] Jason Parker * Makefile: Make sure we remove headers that we installed in install-include 2008-08-25 14:54 +0000 [r4823] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Remove this warning, which could occur if the driver is loaded on a system without a wctc4xxp, and then subsequently unloaded. 2008-08-24 05:53 +0000 [r4817] Matthew Fredrickson * include/dahdi/user.h, include/dahdi/kernel.h, drivers/dahdi/dahdi-base.c, include/dahdi/fasthdlc.h: Add support for 56 KB HDLC as well as selectable rate via ioctl 2008-08-20 22:20 +0000 [r4805] Kevin P. Fleming * drivers/dahdi/dahdi_dynamic.c: use the new separate allocation method for channel structures here too replace "ZTD" references in channel/span names with "DYN" (closes issue #13302) Reported by: KNK 2008-08-20 Kevin P. Fleming * dahdi-linux version 2.0.0-rc3 released. 2008-08-20 22:20 +0000 [r4801-4805] Kevin P. Fleming * drivers/dahdi/dahdi_dynamic.c: use the new separate allocation method for channel structures here too replace "ZTD" references in channel/span names with "DYN" (closes issue #13302) Reported by: KNK * drivers/dahdi/dahdi_dynamic.c: update code to match version in Zaptel * drivers/dahdi/xpp/xpd.h, drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wcte12xp/vpmadt032.c, drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/wctdm24xxp/GpakApi.c, drivers/dahdi/dahdi-base.c, drivers/dahdi/wctdm24xxp/GpakCust.c: improve compatibility with 2.6.26 and 2.6.27 kernels (closes issue #13253) Reported by: raiden Patches: zap-dev.patch uploaded by smurfix on issue #13277 (license 547) zap-sema.patch uploaded by smurfix on issue #13277 (license 547) 2008-08-20 19:31 +0000 [r4798] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Change to support both 5.3kbps and 6.3kbps bit rates when using the G723.1 codec. 2008-08-19 20:49 +0000 [r4795] Kevin P. Fleming * drivers/dahdi/firmware/Makefile: port over improvements to firmware Makefile from Zaptel 2008-08-19 20:25 +0000 [r4791-4794] Shaun Ruffell * drivers/dahdi/wctc4xxp/base.c: Fixed calculation of the timestamp. * include/dahdi/kernel.h, drivers/dahdi/dahdi_transcode.c, drivers/dahdi/wctc4xxp/base.c: Couple of fixes for the transcoder: - In dahdi_transcode.c, Embed the identifiation number, assigned sequentially when the transcoders are registered, in the transcoder structure. This allows DAHDI_TC_GETINFO to work as expected even though the transcoders are rotated on the list in order to spread the load. - In wctc4xxp, fix bug where all transcoders are named tc400b0. 2008-08-18 23:24 +0000 [r4788] Kevin P. Fleming * Makefile: minor cleanups, and allow DAHDI_BUILD_ALL to be overriden on the command line 2008-08-14 21:37 +0000 [r4776-4784] Tzafrir Cohen * drivers/dahdi/xpp/.version, drivers/dahdi/xpp/Changelog_xpp: Set xpp version to 6056 and reset XPP changelog. * drivers/dahdi/xpp/firmwares/Makefile (added), Makefile: Also install Astribank firmwares and init scripts to /usr/share/dahdi . * drivers/dahdi/xpp/card_fxo.c: xpp: FXO: display signed voltage values (from xpp r6055) This is only an issue with the displayed value. In case you wondered why you have battery voltage of more than 220V. 2008-08-14 01:09 +0000 [r4773] Kevin P. Fleming * drivers/dahdi/dahdi_transcode.c: remove devfs support, and use consistent include file path 2008-08-13 21:04 +0000 [r4770] Doug Bailey * drivers/dahdi/wctdm24xxp/wctdm24xxp.h, drivers/dahdi/wctdm24xxp/base.c: import the neon mwi detection 2008-08-11 16:22 +0000 [r4758-4761] Tzafrir Cohen * drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/firmwares/FPGA_1151.hex, drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_global.c, drivers/dahdi/xpp/xbus-pcm.c: xpp: CAS/E1 support in the PRI module, and minor fixes. * Add support for CAS in the PRI module. Use firmware rev. 5975. * Debugging parameter pcmtx_chan now accepts a dahdi channel number. * Do initialize a reserved protocol field (card_global). * The name DAHDI as used in proc/xpp/sync has 5 (not 6) letters. * Fix DTMF "channel leak" regression in the FXS module. * drivers/dahdi/xpp/card_fxo.c: xpp: fxo: Fix support for CID_STYLE_PASS_ALWAYS * drivers/dahdi/xpp/Kbuild: A more robust test for bri_dchan support. * drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/xpp_dahdi.c: xpp_blink is a bit mask of ports, and not boolean anymore. 2008-08-08 Kevin P. Fleming * dahdi-linux version 2.0.0-rc2 released. 2008-08-07 20:21 +0000 [r4742] Shaun Ruffell : * drivers/dahdi/dahdi_transcode.c: Make sure types are same size on 64-bit machines. 2008-08-06 Kevin P. Fleming * dahdi-linux version 2.0.0-rc1 released.