summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-03Point people to where active development is taking placesvn_trunkShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10748 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-11-15xpp: pre/post_unregister: not for the ECHEADmasterTzafrir Cohen
Don't run the pre- and post-unregister hooks on a non-phone XPD (practically: the echo canceller). This fixes a panic with manual 'dahdi_registertion off' as it is now called for the whole device (regression of 2.6.x). Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10735 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-11How to get OSLEC from dahdi-linux-extraTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10734 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04wct4xxp: EC channel calculation in TONEDETECT assumes TE820.Russ Meyerriecks
Since r10290 "wct4xxp: Add support for TE820 and VPMOCT256." [1], the TONEDETECT ioctl was not calculating the VPM channel correctly on non TE820 cards. This fixes a regression first introduced in 2.6.0. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10290 Internal-Issue-ID: DAHLIN-302 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10733 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04dahdi: Running without the Big Kernel Lock (BKL) is no longer experimental.Russ Meyerriecks
The warning was originally added in r9721 "dahdi: Experimentally remove dependency on the Big Kernel Lock." [1]. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=9721 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10732 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04dahdi: Remove 'getlin_lastchunk' from struct dahdi_chan.Russ Meyerriecks
'getlin_lastchunk' has not been used since r65 "Version 0.1.6 from FTP" [1] One less thing to think about... [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=65 Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10731 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04dahdi: Remove unused 'rxbufpolicy' and 'rxdisable' from dahdi_chan.Russ Meyerriecks
Since r5021 [1], first released in DAHDI-Linux 2.2.0, it's been impossible for user space to change the rxbufpolicy. This hasn't caused any problems and it's safe to remove a few more of the vestiges of the rxbufpolicy from the driver. This streamlines the code path in a few places and saves 8 bytes from the size of struct dahdi_chan. The user visible parts are maintained and will indicate DAHDI_POLICY_IMMEDIATE, like it has since 2.2.0. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=5021 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10730 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04wctdm24xxp: Set dahdi_span.spantype to SPANTYPE_ANALOG_MIXED.Russ Meyerriecks
Since r10683 "convert span->spantype to enumerated type" [1] the spantype was changed from a string provided by the board drivers to an enumerated type that is handled by the core of DAHDI. This was done to simplify the task of dahdi_genconf since there is only one place to look for the valid strings that can be exported in sysfs. This eliminates the following warning on driver load: Warning: Span %s didn't specify a spantype. Please fix driver! [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10683 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10729 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04wct4xxp: Ensure all spans are configured by default.Russ Meyerriecks
Not configuring all the spans on an octal card can result in some of the spans not working in clear channel modes. Now ensure that all spans receive a default configuration regardless how they are configured from user space. Internal-Issue-ID: DAHLIN-289 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10728 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04dahdi: Filter 'HWEC' from DAHDI_GETVERSION results if hwec is really not ↵Russ Meyerriecks
present. Internally in DAHDI there is always a hardware echocan factory registered and available. Having this factory always registered allows for DAHDI to work in a backward compatible fashion. Namely, by default DAHDI will always use a hardware echocan if one is available unless 'hwec_overrides_swec' dahdi module parameter is set to 0 on load. However, if there were no real hardware echocans available in the system dahdi would still report "Echo Canceller(s): HWEC" in the dahdi_cfg -v output since the hwec factory is always there. After this change dahdi_cfg will no longer report HWEC as one of the available echocans if there isn't a physical span present that actually has a hardware echocan. Internal-Issue-ID: DAHLIN-300 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10727 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-10-04dahdi: Increase the number of conference buffers to eight.Russ Meyerriecks
When DAHDI is bridging channels between two different cards, or a user is trying to record from a channel on a card that is not using the same timing source as the master span, it is possible to miss audio. For example, given the following scenario: <T1 Span> <---> <ISDN CARD> <---> <ANALOG CARD> <---> <local handset> If DAHDI was set to natively bridge the call from the T1 span to the local handset it is possible that system conditions could result in one of the cards servicing their interrupt three times before the other card has a chance to. Since there are currently only two conference buffers to pass audio between the cards, one chunk (1ms) of audio will be dropped since the card servicing it's interrupt more frequently will run out of space to copy audio for the other card and will have emptied the audio buffer from the other card. Increasing the number of conference buffers to eight greatly reduces the probability of audio from being dropped under these conditions at cost of an additional 72 (32-bit) or 96 (64-bit) bytes per DAHDI channel. Internal-Issue-ID: DAHLIN-159, DAHDI-976 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10726 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-09-21wctdm24xxp: Only two polarity reversals are needed to validate RING on FXO ↵Russ Meyerriecks
ports. This fixes a regression introduced in commit r10186 "wctdm24xxp: Use time interval for debouncing FXO ring detect." [1] which was first released in DAHDI-Linux 2.6.0. This only affects users with analog trunks whose providers do not present 4 polarity reversals on the ring signals. The reporter of this issue is based in South Africa. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10168 In prior versions, the ring detector did not check for polarity reversals, only the presence of ringing voltage unless fwringdetect or neonmwi_monitor mode was set, and even when one of those modes were set, the driver only needed two reversals to validate a ring. This commit allows the driver to always stay in fwringdetect mode but restores the requirement for only two reversals. Also included in this commit is a change to ensure that ringing is not reported when debouncing lost battery which can happen when voltage is swinging through 0. Reported-and-Tested-by: Jaco Kroon <jaco@uls.co.za> Internal-Issue-ID: DAHLIN-298 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10719 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-09-21dahdi-base: Minor maint mode errorRuss Meyerriecks
The previous maint state was saved regardless if the base driver returned an error or not. This caused strange behavior in dahdi tools. Moved the maint state save to after the switch case to reflect this. https://issues.asterisk.org/jira/browse/DAHDI-984 Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10718 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-08-16dahdi: pci-aspm.h was included in 2.6.26 not 2.6.25.Shaun Ruffell
When compiling against kernels 2.6.25, you could get the following error. error: linux/pci-aspm.h: No such file or directory This fixes a build regression introduced in r10556 "dahdi: Add dahdi_pci_disable_link_state for kernel < 2.6.25." [1] [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10556 Reported-by: Jean-Philippe Lord Internal-Issue-ID: DAHLIN-299 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10705 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-07-11wcte12xp: Fix stack corruption when checking T1 RBS states.Russ Meyerriecks
This fixes an (embarrassing) error in t1_check_sigbits in the previous commit where I was writing pass the end of an array on the stack. Now instead of using an array on the stack, of which all elements were not used, the pending commands are now stored on a list. I also removed the automatic free of commands from __t1_getresults and now the function that allocated the command now frees them. I believe this will be less error-prone going forward. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10700 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-06-26wcte12xp: Fix pulse digit detection when set for FXO signalling modes.Shaun Ruffell
The frequency that the RBS registers were polled was too slow to catch the pulse dialing digits. The result was that often times dahdi would generate WINK events instead of PULSEDIGIT events. This speeds up the rate at which the registers are checked from 100ms to 33ms and also makes the process of checking the registers quicker by queing up all the reads at once. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10699 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-06-22wcte12xp: Allow default_linemode to be set to j1.Shaun Ruffell
To enable J1 mode previously one would configure the card in T1 mode and then set the j1mode module parameter. Now "modprobe wcte12xp default_linemode=j1" will work like the other linemodes globally for all cards manged by this driver. J1 can also be set on a card-by-card basis in sysfs. Also move pr_fmt to top of file so pr_xxx macros print the module name as intended. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10696 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-06-22wcte12xp: Destroy the cache if the linemode is not recognized.Shaun Ruffell
Fixes the following errors when running: # modprobe wcte12xp default_linemode=blah; modprobe wcte12xp default_linemode=blah 'blah' is an unknown span type.kmem_cache_create: duplicate cache wcte12xp Call Trace: [<ffffffff800394cf>] kmem_cache_create+0x572/0x5ac [<ffffffff800a926e>] __link_module+0x0/0x18 [<ffffffff80064624>] __down_read+0x12/0x92 [<ffffffff8002224d>] __up_read+0x19/0x7f [<ffffffff8818b01f>] :wcte12xp:te12xp_init+0x1f/0xde [<ffffffff800a9e37>] sys_init_module+0xbd/0x206 [<ffffffff8005d28d>] tracesys+0xd5/0xe0 Reported-by: James Brown <jbrown@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10695 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-06-21xpp: usermode_helper() bugfix for kernels >= 3.3.0Tzafrir Cohen
* UMH_WAIT_PROC semantics (and value) was changed from enum to a bitmask (via #define) * This constant was missing from kernels older than 2.6.23 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@10692 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-06-11README fixes: DKMS indentation and suchTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10691 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-05-23dahdi_ioctl_spanstat() backward compat hackTzafrir Cohen
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@10686 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-05-23sysfs: refactor lineconfig string representationTzafrir Cohen
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@10685 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-05-23sysfs: add a linecompat span attributeTzafrir Cohen
This way, dahdi_genconf may gather needed information without issuing ioctl()'s 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@10684 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-05-23convert span->spantype to enumerated typeTzafrir Cohen
* This is a minimal convertion -- everything compiles and looks OK. * We print a warning for spans registering without a spantype. * Low-level drivers may later want (but not required) to fold their internal representations to this canonical representation -- it will save code and make it more readable. 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@10683 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-27Assign NULL values to pointers to insure that future kfree calls do not ↵Doug Bailey
cause errors. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10678 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-18wcb4xxp: Fix typo in last commit that broke compilation.Shaun Ruffell
I failed to compile test r10661 and introduced a typo when fixing a checkpatch.pl warning. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10662 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-18wcb4xxp: Support for when network side deactivates layer1.Shaun Ruffell
This is a port of the functionality in the wctdm24xxp driver to support power savings modes. Specifically, if the the network side of a BRI spans deactivates the span to save power, the B410P previously automatically activated it again. Now, if persistentlayer1=0 module parameter is set, the span will be allowed to stay deactivated until layer two has a message to send on the dchannel. This patch does not change any of the default behavior of the B410P driver and the defaults for the persistentlayer1 option is inconsistent with that of the B400M modules in the wctdm24xxp driver. Internal-Issue-ID: ABE-2845 From: Matthew Fredrickson <creslin@digium.com> [ Minor formatting, exposed the persistentlayer1 as module parameter, changed defaults for teignorered, alarmdebounce, and persistentlayer1 to match current defaults in wcb4xxp driver ] Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10661 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-11xpp: Fix compilation when CONFIG_DAHDI_WATCHDOG is defined.Shaun Ruffell
Looks like a hold over from when dahdi_span_ops was first implemented in r8985 "dahdi: Move the callbacks in dahdi_span into its own structure" [1]. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=8985 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@10658 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-11dahdi: Fix compilation when CONFIG_DAHDI_WATCHDOG is defined.Shaun Ruffell
From: Mike Sinkovsky <msink@trikom.ru> Internal-Issue-ID: DAHLIN-288 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10655 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-11FPGA_1161.201.hex rev 10545: fix reset of XR1000Tzafrir Cohen
Previous commit (r10649) included an incorrect version. Including full message from that commit for the description. rev. 10502 of the FPGA firmware for the new E-Main rev. 4 fixes a potential issue when used on Xorcom XR1000 systems: an issue with the power supply may cause the unit to reset. Note that there is no issue with previous models, with a normal setup of an Astribank, or other XRx000 systems. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10652 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-10FPGA_1161.201.hex rev 10532: fix reset of XR1000Tzafrir Cohen
rev. 10502 of the FPGA firmware for the new E-Main rev. 4 fixes a potential issue when used on Xorcom XR1000 systems: an issue with the power supply may cause the unit to reset. Note that there is no issue with previous models, with a normal setup of an Astribank, or other XRx000 systems. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10649 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-05wcte12xp, wctdm24xxp, wct4xxp: Print warning about potential GPL violation ↵Shaun Ruffell
w/HOTPLUG_FIRMWARE=no. Print a warning message that it may be a GPL violation to redistribute these binaries if the firmware for the VPMOCT032/64/128/256 is compiled in. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10646 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-05wcb4xxp: Remove asm/system.h include.Shaun Ruffell
Not needed anymore and will break compilation on Kernel versions >= 3.4 since commit 0195c00244dc2e [1] [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=0195c00244dc2e Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10641 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-05dahdi_dummy: Include timer.h instead of time.hShaun Ruffell
It appears that some kernel configurations do not include timer.h in any of the include files that are included by dahdi_dummy. The timer_structs are defined in timer.h and not time.h, so this change is correct even though I never could find a configuation myself that actually failed to compile. This has negligible impact since dahdi_dummy is not compiled by default. Internal-Issue-ID: DAHLIN-185 Reported-by: Steve Murphy Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10640 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-03dahdi: Fix compilation when CONFIG_DAHDI_NET is defined.Shaun Ruffell
'irq' field was removed from dahdi_span in r10276 "dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device." [1] which was first released in dahdi-linux 2.6.0. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10276 Reported-by: Pavel Selivanov Internal-Issue-ID: DAHLIN-278 Patches: hdlc.patch by Pavel Selivanov (license #5420) Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10634 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-03dahdi: Fix compilation when CONFIG_DAHDI_ECHOCAN_PROCESS_TX is defined.Shaun Ruffell
'ec_state' was renamed to 'dahdi_echocan_state' in r6529 [1] but support for CONFIG_DAHDI_ECHOCAN_PROCESS_TX was first committed in r9442 [2]. So it appears that I never compiled tested this exact commit when it went in for the 2.5.0 release. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=6529 [2] http://svnview.digium.com/svn/dahdi?view=revision&revision=9442 Reported-by: Pavel Selivanov Internal-Issue-ID: DAHLIN-279 Patches: ec.patch uploaded by Pavel Selivanov (License #5420) [ edited the patch slightly for minor formatting ] Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10633 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-03dahdi_dynamic_loc: Change and check the dyn->pvt pointer under lock.Shaun Ruffell
Fixes a crash on unload if the sync_tick callback was running at the same time the dynamic local span was destroyed. It was possible for dahdi_dynamic_local_transmit to dereference a pointer that may have already been freed. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10627 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-03dahdi_dynamic_eth: Make ztdeth_exit() symetrical with ztdeth_init() and fix ↵Shaun Ruffell
race on unload. Minor change to follow generally recommended practice. Prevents new packets from being queued up for devices when they are about to be cleaned up. Also clean up any skbs that may still be on the queue after unloading. Also closes anoter potential kernel oops on module unload. It was possible to delete the private structure while the master span process was running. The result was an attempt to page memory from interrupt context. Make sure that the pvt function is set and cleared under the zlock. Also do not assume that the pvt pointer is valid in ztdeth_transmit. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10626 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-03dahdi_dynamic: Close race on unload if red alarm timer was running when ↵Shaun Ruffell
unloaded. I saw a kernel oops that was the result of the timer running after the dahdi_dynamic module was unloaded. Now we wait for the timer to complete, and then delete it again in case it reactivated itself. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10625 a0bf4364-ded3-4de4-8d8a-66a801d63aff
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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10624 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10623 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10618 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-04-02Remove Makefiles that are only needed on kernels < 2.6.9Shaun Ruffell
Newer versions of kernel build system do not require these Makefiles and support for kernels older than 2.6.9 are no longer supported by DAHDI. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10617 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10613 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10590 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10589 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10588 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10587 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10574 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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10573 a0bf4364-ded3-4de4-8d8a-66a801d63aff