Commit Graph

111 Commits

Author SHA1 Message Date
Shaun Ruffell
88345e505a dahdi: When DACS is enabled, hold a pointer directly to the crossed channel.
This both removes the need to reference the 'chans'
__dahdi_process_putaudio_chunk and __dahdi_process_getaudio_chunk, and
allows the dahdi_receive / dahdi_transmit logic to be streamlined.  DACS
channels can no longer be echocanceled if crossed.  However, if a
channel was DACSed with dahi_cfg it couldn't have been echocanceled
anyway since the echo cancelers are disabled on the channel by default.

This change was originally contained in a patch kpfleming had floating
around. I split it up and merged it.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Kevin P. Fleming <kpfleming@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9603 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:49 +00:00
Shaun Ruffell
7c49f372c2 dahdi: Only check for NOSTDTXRX once in dahdi_receive.
There is no need to check the flag on the master channel when processing all
the slave channels.  Originally part of a patch kpfleming had floating around.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Kevin P. Fleming <kpfleming@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9602 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:44 +00:00
Shaun Ruffell
9d4a2fad78 dahdi: Trivial formatting change in dahdi_receive.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9601 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:40 +00:00
Shaun Ruffell
8053657761 dahdi: Change dahdi_chan.nextslave from index to a pointer.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9600 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:36 +00:00
Shaun Ruffell
c380e4d91e dahdi: Use 'dacs_chan' convenience pointer in dahdi_ioctl_chanconfig.
Eliminates the need to look for the channel number twice.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9599 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:31 +00:00
Shaun Ruffell
800c356cf3 dahdi: Remove arbitrary limit on number of spans in the kernel.
Spans are no longer added to a static array, but they are chained
together in a list.  DAHDI_MAX_SPANS, while no longer used in the
kernel, is still in include/dahdi/user.h since dahdi tools is currently
using it.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9598 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:27 +00:00
Shaun Ruffell
7a6d71f35c dahdi: Move the contents of digits.h directly into dahdi-base.c
Clarify that these definitions are not / no longer used outside
dahdi-base.c.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9597 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:23 +00:00
Shaun Ruffell
89d96a16b5 dahdi: Cleanup formatting in dahdi_ioctl_set_dialparams().
Mainly I wanted to document that the global_dialparams is protected by
the BKL so that it can be closely checked when lock_kernel is removed
from DAHDI.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9596 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:18 +00:00
Shaun Ruffell
a6b2fb1891 dahdi: Move DAHDI_SET_DIALPARAMS code into separate function.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9595 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:14 +00:00
Shaun Ruffell
daf96e677d dahdi: Change reference counting for tone zones.
This change primarily is a memory reduction.  Most users only ever have
a single tone zone loaded so we can save some mostly unused pointers by
using a list instead of an array.  Since we also have a pointer to the
dahdi_zone in struct dahdi_chan, we also don't need to store the integer
that is an index into that array.  This saves 4 bytes for every channel
allocated in the system. Finally, we don't need a separate default_zone
member since we're on a list, we can define the first element on
the list to always be the default zone.

Additionally, all reference counted structures in the drivers should
standardize on kref as much as possible for simplicity.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9594 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:10 +00:00
Shaun Ruffell
215d530887 dahdi: Introduce dahdi_kasprintf for pre 2.6.12 kernels.
kasprintf will be used in upcoming changes and it's not supported on
RHEL4 kernels. This change essentially backports it.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9593 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:05 +00:00
Shaun Ruffell
0dc5fd0ffb 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 <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9592 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:27:01 +00:00
Shaun Ruffell
781b51aa3a dahdi: trivial. Remove unneccessary comment.
Not only should you not reach that line, it's impossible for you to
reach that line.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9591 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:56 +00:00
Shaun Ruffell
41c09ac4b4 dahdi: Minor fix for alloc/free of 'struct ecfactory'
Do not allocate the structure with GFP_KERNEL under the lock in
dahdi_echocan_factory_register and closes a leak in
dahdi_echocan_factory_unregister.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9590 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:52 +00:00
Shaun Ruffell
42ba6fab28 dahdi: Convert ecfactory_list_lock from rwlock to spinlock.
rwlocks are slowly being deprecated because they typically do not
provide the performance increase expected.  Most of the
ecfactory_list_lock acquiring is during setup and not in the hot path
anyway, so we can just use the simpler spinlock semantics without the
overhead of a semaphore or mutex.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9589 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:47 +00:00
Shaun Ruffell
3ba232691d dahdi: Use a spinlock instead of a rwlock for 'zone_lock'
rwlocks are deprecated and there aren't that many places where read_lock
was called on the lock anyway.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9588 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:43 +00:00
Shaun Ruffell
c6ae6d6cec dahdi: Trivial move of sync_tick callback to inline function.
This is a trivial cleanup to primarily to remove the #ifdef test out of
process_masterspan.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9586 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:34 +00:00
Shaun Ruffell
2f3b2a4f62 'dahdi_copy_string()' -> 'strlcpy()'
There is already a safe string copying function in all the kernels DAHDI
currently supports.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9585 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:29 +00:00
Shaun Ruffell
fdaa2d3f49 dahdi: Take a reference count on module when operating on spans directly.
Normally, spans are accessed via channels, which increment the reference
count on the supporting module as part of the open call.  When operating
on spans by number we are susceptible to a module_unload while we are
accessing the span.

Renames find_span to span_find_and_get to indicate that we're both
finding the span by number and increasing the reference count on the
span.  Spans themselves don't currently have reference counts, but we
can increment the reference count on the module that owns the spans.
This will prevent the module that has the span from unloading in the
middle of a span_config call, which in the case of the wcte12xp can take
awhile since the VPM firmware is loading.

Hopefully in the near future the spans themselves will be reference
counted directly.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9583 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:19 +00:00
Shaun Ruffell
c168f838ac dahdi: Add the span onto the list as the very last thing
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9582 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:14 +00:00
Shaun Ruffell
c050ca9065 dahdi: Allow spans to advertise if they can provide any timing.
Some spans, specifically dynamic local spans, should never be the timing
master since they are dependent on some other timing source driving
them.

The bit in 'struct dahdi_span' is named cannot provide timing so that by
default the other drivers will set it to 0.

This is loosely related to issue #13205 but doesn't address any of the
other elements of that issue about how to allow the user to configure
what the master span order of succession is.

(issue #13205)
Reported by: biohumanoid

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9581 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:26:08 +00:00
Shaun Ruffell
e3bf2fe45d dahdi_dynamic: Use dahdi_span_ops.sync_tick for driving dynamic spans.
Dynamic spans that are unable to provide their own timing, like dahdi
local spans, typically derived their timing source from
dahdi_dynamic_ioctl(0,0) call in process_masterspan.

This change uses the sync_tick member of dahdi_span_ops instead so that
dynamic operations do not happen on a span until it is fully registered.
Also removes the check for dahdi_dynamic_ioctl in process masterspan for
those users that never load a dynamic span.

This was originally suggested in a comment on:
(issue #13205)

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9576 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 18:25:45 +00:00
Shaun Ruffell
cf2c6ce98b Update copyright on changed files since 2011-01-01.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9560 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 14:55:24 +00:00
Tzafrir Cohen
5759e5a6a6 constants for ctl, transcode, timer, channel, pseudo
Signed-off-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@9552 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03 10:49:22 +00:00
Shaun Ruffell
e26a4d25c8 dahdi: Cleanup in the dahdi_chan_poll function.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Russ Meyerreicks <rmeyerreicks@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9550 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-21 16:09:31 +00:00
Shaun Ruffell
9496527004 dahdi: Initialize chan->waitq once at registration time.
This is instead of initializing the waitq each time the channel is
opened or closed.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Russ Meyerreicks <rmeyerreicks@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9549 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-21 16:09:27 +00:00
Shaun Ruffell
2765186d03 dahdi: Use a single wait_queue_t for dahdi channels.
Since we've now switched to wait_event_interruptible calls, we have a
condition that we can check when we're awoken.  This allows us to
combine the separate wait queues into a single queue.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Russ Meyerreicks <rmeyerreicks@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9548 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-21 16:09:22 +00:00
Shaun Ruffell
74fff81da4 dahdi: Remove interruptible_sleep_on() calls for WINK/FLASH.
Makes it a little more clear what it is we're really waiting for.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Russ Meyerreicks <rmeyerreicks@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9547 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-21 16:09:17 +00:00
Shaun Ruffell
3203aaf84c dahdi: Do not dereference chan->span for pseudo channels.
Fixes a regression introduced in r9510 which saves a pointer to the ops
member of a channel's span before checking if the channel is a pseudo.
Psuedo channels do not have spans.

(issue #18463)
(issue #18422)
Reported by: alecdavis

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9530 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-13 14:57:12 +00:00
Kinsey Moore
7a7d4000a0 dahdi-base, dahdi_echocan_*, wcb4xxp, wct4xxp, wctdm24xxp, wcte12xp, kernel: Allow name of EC factory to vary based on channel
Changed the echocan factory name to a function (get_name) called to get the
name.  This allows a factory to return a different name when being called in
reference to a channel such as in the case of hardware echo cancellers.  To
further accommodate this change for HWEC, a new echocan_name function was
added to the span ops struct and is used in hwec_factory in dahdi-base for
all cards that support hardware echo cancellation.

Signed-off-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9524 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09 20:19:26 +00:00
Kinsey Moore
fd01eef199 dahdi-base, kernel, dahdi_echocan_*, wcb4xxp, wct4xxp, wctdm24xxp, wcte12xp: Remove name field from echocan ops
This field was redundant and was only used in places where the factory's name could be used.

Signed-off-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9523 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09 20:19:21 +00:00
Kinsey Moore
06eac5b1d2 dahdi-base: Alarms may not be the last item on the line, so don't strip the trailing space
Signed-off-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9522 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09 20:19:18 +00:00
Kinsey Moore
fbee540bf5 dahdi-base: Remove old method of invoking HWEC
Remove the code that allowed hardware echo cancellation to automatically
override software cancellation and prevented SWEC from working at all on a
card if HWEC was installed.  All EC now uses the standard modular EC interface.
Additionally, the "SWEC" identifier on channel lines in /proc/dahdi has been
changed to "ECTYPE" to avoid confusion.

Signed-off-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9521 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09 20:19:16 +00:00
Kinsey Moore
6140d43665 dahdi-base: Allow HWEC to use the modular echocan interface
This change adds an echocan factory to dahdi-base that will allow hardware
echo cancellation to use the same interface as the current software echo
cancellers.  The additions in this commit will not have any effect until the
current HWEC mechanism is removed.

Signed-off-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9520 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09 20:19:13 +00:00
Russ Meyerriecks
bbdcb0c7ba dahdi: Removing loopstop maint function
DAHDI_MAINT_LOOPSTOP is being removed due to the redundancy with
DAHDI_MAINT_NONE. Also removing some timing logic, as amount of time a
loopup or loopdown signal is held on the line, is now defined in
userspace with dahdi_maint.

Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9515 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-08 22:11:53 +00:00
Russ Meyerriecks
5ee55a6147 dahdi: Clean up an unused waitqueue
The dahdi_span->maintq wait queue was very old and not being used so it
has been removed.

Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom..com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9514 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-08 22:11:46 +00:00
Shaun Ruffell
f7925643de 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 <sruffell@digium.com>
Acked-by: Angelos Varvitsiotis <avarvit@admin.grnet.gr>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9510 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-07 14:20:38 +00:00
Shaun Ruffell
75c33ce64e dahdi: A little cleanup in the dahdi_ioctl_iomux function.
The primary change is to make clear that the wait result is not ever to
be returned by the function.  There are also edits to remove some
comments that were expressed clearly in the source already and ensure
that the iomux member of 'struct dahdi_chan' is only accessed under the
chan->lock.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Sean Bright <sean.bright@gmail.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9497 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-25 00:07:10 +00:00
Sean Bright
f406bba4c6 dahdi: dahdi_ioctl_iomux should return 0 on success.
This fixes a regression introduced in revision r9466.  Before this patch
one might see "I/O MUX failed: Success" messages on the Asterisk console
since the return from ioctl was > 0.

Signed-off-by: Sean Bright <sean.bright@gmail.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9496 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-25 00:07:05 +00:00
Russ Meyerriecks
08d3ff5671 dahdi: Fixup prior dahdi_mirror patch
Reworking tsearle's patch to fit with coding guidelines and make
process_masterspan a bit easier to read.

(closes issue #16831)
Reported by: tsearle
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9494 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-19 17:34:42 +00:00
Russ Meyerriecks
494472ee1a dahdi: Stops junk data from overwriting the dahdi_mirror pseudo chans
(issue #16831)
Reported by: tsearle
Patches:
      dahdi_mirror2.patch uploaded by tsearle (license 373)
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9493 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-19 17:34:36 +00:00
Russ Meyerriecks
712704c237 dahdi: Moved the channel mirroring interface behind a build flag
It can now be enabled by un-commenting the CONFIG_DAHDI_MIRROR define in
include/dahdi/dahdi_config.h
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9492 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-19 17:34:31 +00:00
Russ Meyerriecks
9090c6fcd2 dahdi: adding ss7 pcap support to dahdi.
Adding the patch from the issue with various fixups to fit style and
checkpatch

(issue #16831)
Reported by: tsearle
Patches:
      driver_v2.patch uploaded by tsearle (license 373)
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9491 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-19 17:34:25 +00:00
Shaun Ruffell
06136006df dahdi: In dahdi_unregister() 'new_master' should not be static.
The first place new_master is referenced after the definition is to
assign it to the value of the current master.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9489 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-19 14:07:29 +00:00
Russ Meyerriecks
1e2923566d dahdi-base: Add debug option to log RBS bit changes
Logs the RBS bits to dmesg, for troubleshooting, for all drivers that call
dahdi_rbsbits(). Added the DEBUG_RBS bit in the debug module parameter
bitfield.

(issue #18025)

Acked-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@9487 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-18 17:15:07 +00:00
Shaun Ruffell
3de1002cb5 dahdi: Constify the dahdi_txlevelnames and return of dahdi_lboname().
Also moves the dahdi_txlevelnames array into the dahdi_lboname function,
which is the only place it it used.

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@9468 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-04 16:40:49 +00:00
Shaun Ruffell
a170389509 dahdi: Close race between checking IOMUX condition and sleeping.
wake_up_interruptible() will change the state of waiting tasks back to
TASK_RUNNING, therefore, we want to ensure we set TASK_INTERRUPTIBLE
before checking the conditions that we're going to sleep on.

In practice, this closes a small window were the caller may be put to
sleep when the condition is true, and have to wait for another event to
come in order to wake from the sleep.

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@9467 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-04 16:40:44 +00:00
Shaun Ruffell
649fa2f43d dahdi: Move the DAHDI_IOMUX ioctl handler into a separate function.
Just a cleanup patch that moves code into a standalone function.  Real
change to follow.

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@9466 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-04 16:40:40 +00:00
Shaun Ruffell
a782b4de71 dahdi: 'schluffen()' -> 'interruptible_sleep_on()' or 'wait_event_interruptible()'
'interruptible_sleep_on()' is the Linux equivalent of 'tsleep()'.  When
we're sleeping for a condition, we can also just use
wait_event_interruptible to close a potential race where the condition
goes true between the time we checked it and when we go to sleep waiting
on the event.

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@9465 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-04 16:40:35 +00:00
Shaun Ruffell
3f9cb05bae dahdi: Remove DAHDI_CONFLINK functionality.
Conference links do not appear to be in use anymore and they are now
removed.  I could not find any references to this ioctl in the asterisk
repository, or zaptel user space tools.

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@9463 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-11-04 16:40:23 +00:00