summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2012-04-03dahdi_dynamic: Remove calls to __module_get().Shaun Ruffell
The board drivers are the ones calling the unregister function, and therefore we do not need to worry about them unloading while calling the destroy callback. When destroying spans with the ioctl, replace __module_get() with try_module_get. This avoids hitting a BUG in module_get on kernel versions < 2.6.29. ALSO move the call to try_module_get out of the dahdi_dynamic_release function and into destroy. This way if the destroy callback isn't called because the dynamic driver is unloading the dynamic device can be left on the list to be cleaned up by the dahdi_dynamic_unregister_driver function(). Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10624 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10629 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-03dahdi_dynamic: Do not call into dahdi_dynamic without holding reference.Shaun Ruffell
Instead of registering a function pointer, register a dahdi_dynamic_ops structure that contains the owner as well as the ioctl callback. This way dahdi.ko can bump up the reference count on dahdi_dynamic.ko before calling the ioctl callback. Also, use the registration mutex to guard against the module being unloaded between the time the structure pointer was checked, and the module reference is taken. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10623 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10628 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-02wctdm24xxp, wcte12xp: Allow VPMOCT032 firmware to be compiled into driver.Shaun Ruffell
Enables the driver to update firmware on systems that do not have the firmware loader configured / enabled (Linux config option CONFIG_FW_LOADER). Compiling the firmware into the driver increase the memory footprint by around ~440K. Internal-Issue-ID: DAHDI-963 Reported-and-Tested-by: Guenther Kelleter Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10618 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10620 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-29wctdm24xxp: Remove forward declaration of inline for GCC 3.4.4Shaun Ruffell
GCC 3.4.4 does not allow forward declaration of inline functions. Internal-Issue-ID: DAHLIN-286 Reported-by: Guenther Kelleter Patches: wctdm24xxp-inline.patch uploaded by Guenther Kelleter (License #6372) Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10613 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10614 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-22wct4xxp: Trivial formatting changes around request_irq.Shaun Ruffell
Quiet some checkpatch warnings introduced by the last patch. I kept this separate since it may have obscured the real change made in the previous commit if combined. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10590 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10594 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-22wct4xxp: Disable all interrupts explicitly in interrupt handler.Shaun Ruffell
The driver makes the assumption that interrupts are disabled but this cannot be guaranteed. We'll explicity disable interrupts on the local processor while the interrupt handler is running. This eliminates the "IRQF_DISABLED is not guaranteed on shared IRQs" warning when loading the driver. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10589 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10593 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-22dahdi_dynamic_eth: Fix compilation on kernels < 2.6.22.Shaun Ruffell
Resolves the follwing build error: drivers/dahdi/dahdi_dynamic_eth.c: In function ‘ztdeth_exit’: drivers/dahdi/dahdi_dynamic_eth.c:448: error: implicit declaration of function ‘cancel_work_sync’ RHEL kernel versions 2.6.18-238 (5.6) and greater had cancel_work_sync() backported which is what I did my original smoke test on. Reported-by: Oron Peled <oron.peled@xorcom.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10588 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10592 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-22dahdi_dynamic_eth: Prevent crash is packet arrives before span is fully ↵Shaun Ruffell
configured. It was possible after a dynamic ethernet span was created for a packet to come in before the dahdi_span was fully initialized. The result would be a NULL pointer dereference. Now just discard any packets that might come in during this time window. Internal-Issue-ID: DAHLIN-280 Reported-by: Pavel Selivanov Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10587 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10591 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21xpp: FXS: added a 'lower_ringing_noise' parameterTzafrir Cohen
* Adds a new parameter, 'lower_ringing_noise', to module xpd_fxs. * Makes the "power-down" behaviour that was added in upstream svn r10478, switchable in runtime. * By default (false), makes the vbat_h behave like it did before the power-down change. - I.e: vbat_h is held throughout the ringing period (during both ring-up/ring-down) - So this patch revert part of r10478 * When switched to true, activate the "power-down" behaviour. - I.e: vbat_h follows the ring-up/ring-down. - This behaviour lowers the noise caused by group ringing of FXS channels in the same unit, but causes problems with CallerID. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10574 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10576 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21xpp: FXS: atomic vbat_h power handlingTzafrir Cohen
* In do_chan_power() make vbat_h changes atomic. * As a result we can ignore duplicate requests. This will allow cleaner logic in the next commit. * Added proper debug messages. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10573 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10575 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21remove a duplicate dev_set_name()Shaun Ruffell
Remove duplicate definition from dahdi-sysfs.c Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10447 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10572 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21dahdi_dynamic: Since dynamic devices are 'parentless' we must name them.Shaun Ruffell
This in conjunction with r10449 "A parent-less device should not crash dahdi", this allows dahdi_dynamic spans to work post the dahdi_devices changes in 2.6.0. The full address of the device is not used since kernels prior to 2.6.31 limit the length of a devicename to 20 characters. The full address of the device can be pulled out of the "hardware_id" and "type" fields of the span. This patch is just to get things working again. dahdi_dynamic devices *may* still have issues if the auto_assign_spans module parameter is 0. Internal-Issue-ID: DAHLIN-280 Reported-by: Pavel Selivanov Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10563 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10571 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21dahdi_dynamic_eth: Move tx packet flushing to process context.Shaun Ruffell
The masterspan can be, and often is, called with interrupts disabled but dev_queue_xmit() needs to be called with interrupts enabled. This potentially fixes a deadlock. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10562 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10570 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21A parent-less device should not crash dahdiShaun Ruffell
* A parent-less device should not crash dahdi: - Access span->parent->dev instead of span->parent-dev.parent in soem cases. - Access span->parent->dev via new inline span_device() - Use span_device() in all dahdi_dev_{dbg,info}() * Allow low-level drivers to set their device name. - Drivers that don't use this feature get the default name based on the parent device name - Parent-less devices which don't set their name, fails to register with -EINVAL Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10449 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10568 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21wcte12xp, wctdm24xxp: Add compile-time option to disable ASPM for PCIe devices.Shaun Ruffell
Certain BIOSes appear to enable ASPM even though it is not fully supported by the platform. Also, since the PCIe links for TDM cards are always in use it does not make sense to allow them to transition to the disabled state. Just turn off power management on the PCIe links completely. For more information see http://lwn.net/Articles/449448/. Internal-Issue-ID: DAHLIN-283 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10557 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10567 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21wct4xxp: Add compile-time option to disable ASPM for PCIe devices.Shaun Ruffell
Certain BIOSes appear to enable ASPM even though it is not fully supported by the platform. Also, since the PCIe links for TDM cards are always in use it does not make sense to allow them to transition to the disabled state. Just turn off power management on the PCIe links completely. For more information see http://lwn.net/Articles/449448/. Internal-Issue-ID: DAHLIN-283 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10558 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10566 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21wct4xxp: __t4_frame_in and __t4_framer_out slowdowns.Shaun Ruffell
This is a partial revert of r10234 "wct4xxp: __t4_framer_in and __t4_framer_out speedups." There were some platform + firmware version combinations that would fail to properly configure the framer with the aforementioned speedups. The originally reported sympton was that interrupts would fail to start and while troubleshooting I also saw cases where one of the spans would stay in alarm after starting. By adding in additional reads to the version register, the overall process of writing / reading from the framer control registers is slowed down which increases reliability. This change does *not* affect the main path of TDM data which is DMAed directly into buffers in host memory and are not read / written to / from framer registers directly. Reported-and-Tested-by: Vahan Yerkanian <vahan@arminco.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10559 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10565 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21dahdi: Add dahdi_pci_disable_link_state for kernel < 2.6.25.Shaun Ruffell
Will allow the ASPM (Active State Power Management) state to be disabled on PCIe devices before kernel version 2.6.25. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10556 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10564 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-20xpp: firmwares: useless 0x1A at EOFTzafrir Cohen
Remove a mostly harmless 0x1A (^Z) at the end of the file. If you add a NL after it, it breaks the firmware loading. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10550 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10553 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-18xpp: firmwares to support E-Main 4Tzafrir Cohen
USB firmware (USB_FW.201.hex 10402) and FPGA firmware (FPGA_1161.201.hex 10480) with support of the new E-Main 4 Astribank mainboard. (This was accidentally labeled as 'E-Main 3' in some previous commit messages) Also includes Makefile fixes from r10536. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10535 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10538 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-18xpp: USB_FW rev 10401: minor 6FXS/2FXO caps issueTzafrir Cohen
Fixes an issues with the 6FXS/2FXO module: if an extra FXS or FXO module is added to a system with such a module, an excessive number of port licenses was accidentally required (as if the 6FXS/2FXO module required 8FXS/8FXO licenses). Internal-Issue-ID: #1371 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10534 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10537 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-16dahdi_dummy: Fix compilation since dahdi-linux 2.6.0.Shaun Ruffell
Even though dahdi_dummy is no longer built by default, the adoption of dahdi_devices in 2.6 broke the ability to compile. This was not intended as there are some packagers who still patch the Kbuild file to enable dahdi_dummy. Internal-Issue-ID: DAHLIN-274 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10486 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10526 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-16xpp: '%d' -> '%lu' when displaying module_refcount on kernel versions >= 3.3Shaun Ruffell
Upstream commit bd77c047 "module: struct module_ref should contains long fields" changed the return of module_refcount from int to unsigned long. This change eliminates a warning from the string format specifier. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10485 Conflicts: drivers/dahdi/xpp/xproto.c git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10525 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-16xpp: Use 'bool' type for boolean module parameters on kernel versions >= 2.6.31.Shaun Ruffell
Eliminates warnings that are a result of upstream commit 72db395ffa "module_param: check that bool parameters really are bool." Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10484 Conflicts: drivers/dahdi/xpp/xpd.h git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10524 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-15xpp: FXS: better power-down to lower noiseTzafrir Cohen
* Now every linefeed control command which is not RING'ing powers-down the SLIC. This reduce audible noise when several channels are ringing. * Simplify code by removing redundant calls to do_chan_power() before linefeed_control() * Manage vbat_h state so we skip do_chan_power() calls when there isn't a state change * Export vbat_h state to /proc/.../fxs_info Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10478 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10490 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-15xpp: reset Astribank SPI bussesTzafrir Cohen
* A driver reload should reset Astribank hardware * This patch send an SPI reset after we get AB_DESCRIPTION reply from Astribank Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10474 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10489 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-15wctdm24xxp: Shorten RINGOFF debounce interval from 512ms to 128ms.Shaun Ruffell
In commit r10168 "wctdm24xxp: Use time interval for debouncing FXO ring detect" [1], I inadvertently changed the debounce interval of the RINGOFF event from 128ms to 512ms. The result was a potential failure to detect CID, depending on line conditions, since Asterisk would bump the rx gains on the channel in the middle of the CID spill as opposed to before the CID spill. This fixes a regression first introduced in DAHDI-Linux 2.6.0. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10168 Internal-Issue-ID: DAHDI-951 Reported-and-Tested-by: Jack Wilson <ljwilson@digitalav.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10473 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10481 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-02-07USB_RECOV.hex: recovering from xpp hardware issuesTzafrir Cohen
USB_RECOV.hex, rev. 9760. It may be used to recover from certain issues of the USB controller of the Astribank (when an Astribank is not detected as such) by Support staff. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10455 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10457 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-25Astribank I firmwares rev. 7107Tzafrir Cohen
A slightly newer firmware (Xorcom rev. 7107) for older (non Astribank II) Astribank modules. Was accidentally left uncommited. Includes minor bug fixes. No change for any relatively recent (Astribank II) Astribank. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10443 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10445 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-17Build OSLEC EC if in the treeTzafrir Cohen
Build the OSLEC echo canceller (drivers/staging/echo and dahdi_echocan_oslec) if the code of oslec is present in the tree. Also closing another issue regarding documentation of building OSLEC, as it is now even clearer than before. Patch has been used in the Debian package for quite some time. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> (closes issue DAHLIN-110) Reported by: biohumanoid (Pavel Selivanov) Patches: oslec_auto.diff uploaded by tzafrir (license 5035) (closes issue DAHLIN-261) Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10440 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10442 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-10xpp: handle failures during dahdi_register_device()Shaun Ruffell
* If dahdi_register_device() failed, not all resources were freed. When dahdi_unregister_device() was called later (during driver removal) a panic was caused. * Add proper error handling for possible failures in xbus_register_dahdi_device(): - new xbus_free_ddev() safely free an xbus->ddev - This is called from all failures points. - It is also called from xbus_unregister_dahdi_device() Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10410 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10419 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-10xpp: Don't deactivate XPDs on unregistrationShaun Ruffell
* A bug was introduced during migration to dahdi_device code: http://svnview.digium.com/svn/dahdi?view=rev&rev=10273 * Marking XPDs as non-functional (card_present=0, XPD_STATE_NOHW) was moved from xbus_request_removal() into xpd_dahdi_preunregister() * As a result, unregistering an Astribank, made it non-functional so trying to re-register it later caused errors (e.g: "Cannot open" error message from xpp_open()) * This fix move XPD deactivation into the proper location (during xbus_deactivate() Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10409 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10418 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-10xpp: bugfix: fix bad refcountShaun Ruffell
Code path called in error condition contained an superflous put_xpd() call Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10408 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10417 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-10wct4xxp: VPM module creates noise on alternate channels on E1 spans.Shaun Ruffell
The VPMOCT128 module was using the VPMOCT256 timeslots assigments which would mean that channels that should be marked alaw were being set in ulaw. This only affected E1 spans since by default all spans are configured for ulaw by default. This fixes a regression introduced in r10290 [1] "wct4xxp: Add support for TE820 and VPMOCT256", first released in 2.6.0, that only affects E1 spans on a quad and dual-span card when used with the hardware echocanceler. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10290 Internal-Issue-ID: DAHDI-945, DAHLIN-275 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10414 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10416 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-10wctdm24xxp: FXS on-hook transmission timer incorrect.Shaun Ruffell
The DAHDI_ONHOOKTRANSFER ioctl was incorrectly setting the ohttimer to 0. The result was that an FXS port was leaving the on-hook transfer state before finishing the transmission. This was discovered while looking at why ./fxstest dtmfcid was not able to pass the DTMF callerid digits to an attached FXO port properly. Fixes a regression introduced in r10167 "wctdm24xxp: Use interval for checking FXS on hook transfer timer." [1], first released in 2.6.0. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10167 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10413 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10415 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-03Avoid building PCI devices if kernel has no PCITzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10397 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-03wctdm24xxp: Fix bug if hook state on FXS changes before channel configuration.Shaun Ruffell
If the hook state on an FXS port changes before the channel is configured with dahdi_cfg it is possible to erroneously force the line feed register open without setting a timer to clear it. The result would be a "dead" channel that cannot be cleared unless the driver is reloaded and warning in the kernel log that "0 is an invalid signaling state for an FXS module". This change makes the OFF_HOOK to ON_HOOK change behave just as the ON_HOOK to OFF_HOOK change has. Internal-Issue-ID: DAHLIN-272 Reported-and-Tested-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10396 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-03wct4xxp: Reduce time spent waiting for auth done bit on TE820.Shaun Ruffell
It is not necessary to wait a full second for the donebit. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10395 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-02xpp: BRI: batch D-Channel packets to fix frag.Tzafrir Cohen
* We need to split the BRI D-Channel (HDLC) frames to smaller packets, limitation of the FPGA. * This changes batches BRI D-channel packets of the same HDLC frame to a single XPP frame. * Avoids an accidental fragmantion in case we were delayed for a few ms-s. * Also improves efficiency. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10390 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-02xpp: BRI: split multibyte functionalityTzafrir Cohen
* The zero lenth case (Magic request) was split into send_magic_request() function. It was not possible to move it into card_bri.c, because it is called directly from the general interface we provide for register read/write via sysfs/proc. * The normal case (send_multibyte_request) was moved from card_global.c into card_bri.c * This sets the stage to enable bundling of multibyte packets into frames (like we do for PCM). Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10389 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-02xpp: BRI: remove trivial BRISTUFF wrappersTzafrir Cohen
Now that legacy BRISTUFF code is gone, some wrapper functions became trivial. Removed these wrappers and inlined their contents. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10388 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-01-02xpp: BRI: remove legacy BRISTUFF codeTzafrir Cohen
Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10387 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-21xpp: Allow up to 128 Astribanks on a systemTzafrir Cohen
This is also a work around the bug fixed in the previous commit. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10384 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-21xpp: bad module_put() when too many AstribanksTzafrir Cohen
module_put() that was added while developing the sysfs code. The real module_get()/module_put() pair were already removed at the time of developing code for this branch. It was only triggered when using a system with more than 32 (MAX_BUSES) Astribanks. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10383 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-14DAHDI-linux: Fix "surprise removal" problemsTzafrir Cohen
* Added a nodev_*() file_operations that handle system calls from user-space after surprise device removal. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10381 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-14wct4xxp: Fail startup if not generating interrupts.Shaun Ruffell
I've seen some platforms that do not properly route the interrupt from the card to the host CPU. In these cases the card potentially could appear to be greened up even though no data is flowing over the spans. This change allows dahdi_cfg to return an error when this occurs, and also ensures that all the spans are in RED alarm. For example, dahdi_cfg output when the card is not generating interrupts: # dahdi_cfg DAHDI startup failed: Input/output error And the kernel log will contain a string like: wct4xxp 0000:02:08.0: Interrupts not detected. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10380 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-14dahdi: Return dahdi_span_ops.startup callback errors to userspace.Shaun Ruffell
Allows dahdi_cfg to return an error code if a board driver fails it's startup call for any reason. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10379 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-12wctdm24xxp: Do not call voicebus_release() before wctdm_back_out_gracefully()Shaun Ruffell
voicebus_release is already called as part of the wctdm_back_out_gracefully() call. If an Hx8 card fails to initialize, this will eliminate warnings from the kernel such as: WARNING: at kernel/irq/manage.c:904 __free_irq+0x94/0x173() Trying to free already-free IRQ 18 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10377 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-07xpp: BRI: fix timing priority calculationTzafrir Cohen
Use similar caculation as in the PRI module: * Save timing_priority from spanconfig and elect syncer when spanconfig is called. * Create custom timing_priority() function that returns the value or error if span is disconnected. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: : Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10373 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-12-07xpp: FXS: mwi and search_fsk fixesTzafrir Cohen
* We must not block PCM during from 'search_fsk_pattern' channels. * We must vmwi_search() not only on FXS_LINE_POL_ACTIVE, but also during 'neon_blinking' -- so we notice the message to turn it off. * Also added 'search_fsk_pattern' and neon_blinking to /proc/.../fxs_info Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-by: : Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10372 a0bf4364-ded3-4de4-8d8a-66a801d63aff