Files
dahdi-linux/ChangeLog
Shaun Ruffell e87ec518e4 Importing files for 2.4.2 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.2@10584 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-21 22:05:20 +00:00

4182 lines
192 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2012-03-21 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux version 2.4.2 released.
2012-03-16 17:08 +0000 [r10530-10533] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/xpp/xproto.c: xpp: '%d' -> '%lu' when displaying
module_refcount on kernel versions >= 3.3 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
* drivers/dahdi/xpp/xpd.h: xpp: Use 'bool' type for boolean module
parameters on kernel versions >= 2.6.31. 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
* drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Replace
'ndo_set_multicast_list' with 'set_rx_mode' The
ndo_set_multicast_list callback was removed in b81693d9, which
was first released in Linux Kernel 3.2-rc1 Signed-off-by: Shaun
Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10360
* drivers/dahdi/voicebus/GpakCust.h, include/dahdi/kernel.h: dahdi:
#include <linux/module.h> in dahdi/kernel.h and GpakCust.h Commit
de47725, first released in 3.2-rc1 removed module.h from some
kernel headers. Include it explicitly now. Resolves compilation
errors like: error: implicit declaration of function
'try_module_get' error: 'THIS_MODULE' undeclared (first use in
this function) error: implicit declaration of function
'module_put' Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10361
Conflicts: include/dahdi/kernel.h
2011-10-12 16:32 +0000 [r10222-10224] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wct4xxp/base.c: wct4xxp: Fix condition where
hardware echo canceler erroneously mutes DTMF. Commit r9750
"wct4xxp: Reduce the memory footprint of the hardware
echocanceler.", as part of reducing the non-pageable memory
required to support the VPMOCT064 and VPMOCT128, disabled caching
of some hardware echocan registers. This resulted in more
physical reads to the echo canceler. These new read transactions
exposed an existing issue where sometimes reads could be turned
into writes which put a channel into an unintended state
preventing Asterisk from detecting any DTMF. This issue is
resolved by ensuring that the write signal to the Octasic part is
explicitly cleared between when the address is presented on the
bus and when the read and chip select signals are asserted. The
cost is an increase in the average time to enable / disable echo
cancellation by about 5 us on one Intel Xeon X3220 test machine
(~250ns increase per read from the Octasic part and 20 reads to
enable / disable a channel). This commit resolves a behavioral
regression first introduced in 2.5.0 and 2.4.1 which could take
many calls before revealing itself. This change only affects
cards with a VPMOCT128 or VPMOCT064 installed. Signed-off-by:
Shaun Ruffell <sruffell@digium.com> Acked-by: Doug Bailey
<dbailey@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10220
* drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Allow G723 SID frames to
pass to the hardware decoder. The driver has, until now, dropped
G723 SID frames even though the firmware on the TC400/TCE400 can
handle them. Now let them on through. Reported-and-Tested-by:
Angel Carhuas <acarhuas@colinanet.com> Signed-off-by: Shaun
Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10218
* drivers/dahdi/wct4xxp/base.c: wct4xxp: Bug in timing cable with
different span density cards The logic loops through the static
cards[] array to determine timing, but the subloop was based off
the current card's numspans member. This could cause a null
dereference in the case where two cards of different span
densities were connected via timing cables. Reported-by: Doug
Bailey <dbailey@digium.com> Signed-off-by: Russ Meyerriecks
<rmeyerriecks@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10140
2011-08-28 09:42 +0000 [r10156] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* drivers/dahdi/xpp/card_fxs.c: xpp: FXS: new 2+6 module has no
digital I/O ports This module is recognized via subtype==4
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2011-08-11 19:54 +0000 [r10111-10114] Shaun Ruffell <sruffell@digium.com>
* include/dahdi/kernel.h: dahdi: Define HAVE_NET_DEVICE_OPS on
kernels > 2.6.29 HAVE_NET_DEVICE_OPS was defined in the mainline
kernel in commit 47fd5b83 which was first released in 2.6.29. Any
kernels after that will have those fields defined. Mainline
commit e2270ea62ae4d7a removed the feature test macros, so the
easiest thing to do is define HAVE_NET_DEVICE_OPS ourselves on
the kernels since it was committed. This change is needed to
compile against the 3.1 kernel. Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10109
* drivers/dahdi/dahdi_dynamic.c: dahdi_dynamic: Call dahdi_receive
in rx packet handler. Currently dahdi_receive is called on all
channels in the context of the master dynamic span. If one span
(not the master) receive two packets before the master span
received a packet, the older packet on the dynamic span would end
up lost because the "readchunk" for the channels would be
overwritten by the new packet. DAHLIN-245 Signed-off-by: Wagner
Gegler <wagner@aligera.com.br> (License #6268) Changed
dahdi_ec_chunk to dahdi_ec_span. Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10110 Conflicts:
drivers/dahdi/dahdi_dynamic.c
* drivers/dahdi/voicebus/voicebus_net.c,
drivers/dahdi/wctc4xxp/base.c: wctc4xxp, wcte12xp, wctdm24xxp:
Remove check for HAVE_NETDEV_PRIV DAHDI currently supports
kernels >= 2.6.9. netdev_priv() has been in the mainline kernel
since versions 2.6.6 so it's available in all the supported
kernels. This change is needed to compile against the 3.1 kernel.
Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10096
* drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_inst.h:
oct612x: Increase the size of some of the instance variables.
Revision 9750 "wct4xxp: Reduce the memory footprint of the
hardware echocanceler" reduced the number of bits used to store
some structure members. Some of the new field lengths were unable
to store all the possible values the API as used assigned to the
fields, resulting in channels never entering power down mode when
they were disabled like they were previously. The change for
byEchoOperationMode was found in testing the operation of the
VPMOCT032 which currently uses the same code. The others were
done via a review of the API doc. This change represents
negligable risk and contains no logic changes. It only increases
the memory footprint of the API instance in the kernel.
Signed-off-by: Doug Bailey <dbailey@digium.com> Acked-by: Shaun
Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen
<tzafrir.cohen@xorcom.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10060
2011-07-27 16:27 +0000 [r10084] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Cleanup in-flight
commands when halting due to hardware error. On one system I was
seeing the board reset in the middle of a transaction. Any
commands that were on the response list when this would happen
would never be completed and the process would then be stuck in
an uninterruptible sleep. This change also prevents the driver
from sleeping in timer context, which would result in a kernel
panic. This change at least lets an error message propogate back
to the user. DAHDI-880 Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10082 Conflicts:
drivers/dahdi/wctc4xxp/base.c
2011-07-22 18:03 +0000 [r10080] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Prevent null pointer
dereference on spanconfig In the rare case where spanconfig is
called while there is pending data on the hdlc channel, the
hdlc_getbuf interrupt could try to read from the hdlc buffer
before the channel was fully setup. This could potentially result
in a null pointer dereference. This condition has existed since
the creation of the wcb4xxp driver. Signed-off-by: Russ
Meyerriecks <rmeyerriecks@digium.com> Signed-off-by: Shaun
Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10079
2011-07-19 19:45 +0000 [r10049] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wcte12xp/base.c: wcte12xp: Close a potential race
on driver unload. The shutdown logic requires that all CPUs see
that the INITIALIZED bit has been cleared. Otherwise it may be
possible for the workqueue to run after the hardware resources
have been released. Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Acked-by: Russ Meyerriecks
<rmeyerriecks@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10047
2011-06-29 18:36 +0000 [r10004-10005] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Ensure battery drops
on FXS hangups honor the channel otimer. If an FXS port is
configured to use kewl start signalling, when the FXS port is
"hungup" it should drop battery for 500ms so that any attached
devices can detect that the remote side has disconnected. The
wctdm24xxp driver since version 2.4.0 was only dropping battery
for ~5-10 ms because it would set "open" on the line, but then
the next time it read the line feed register state, it was
setting the LINE feed register to the idle state. This change
checks if the line is forced open before setting the FXS port
back "onhook" so as to not turn on battery prematurely. This
fixes a regression introduced in r9070 "wctdm24xxp: Prevent FXS
Proslic staying in "Forward/Reverse OnHookTransfer...".
DAHDI-849. Checking for open on the line feed registered was
originally suggested by Alec Davis. Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=10002
* drivers/dahdi/dahdi-base.c: dahdi: Fix compilation on Linux
2.6.26 w/CONFIG_DAHDI_NET. The hdlc_stats function was removed
from the mainline kernel in commit
198191c4a7ce4daba379608fb38b9bc5a4eedc61 [1] which was first
released in linux 2.6.27. [1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198191c4a7ce4
(closes issue #19354) Reported by: biohumanoid 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=9934
2011-05-31 13:16 +0000 [r9926] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* drivers/dahdi/xpp/xbus-core.c: xpp: empty labels are not
duplicate Some older Asttribanks had an empty label string. They
should be ignored when testing for a duplicate label at device
probe time. While we're at it, reduce panic level in the notice.
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2011-05-27 16:48 +0000 [r9922-9924] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/xpp/parport_debug.c, drivers/dahdi/xpp/xbus-pcm.c,
drivers/dahdi/dahdi_dynamic_loc.c,
drivers/dahdi/dahdi_transcode.c, drivers/dahdi/dahdi_dynamic.c,
drivers/dahdi/dahdi_dynamic_eth.c, drivers/dahdi/xpp/mmapdrv.c,
drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/dahdi-base.c,
drivers/dahdi/tor2.c, drivers/dahdi/wcte12xp/base.c,
drivers/dahdi/xpp/xpp_usb.c, include/dahdi/kernel.h,
drivers/dahdi/wct4xxp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h,
drivers/dahdi/dahdi_dynamic_ethmf.c: Move test for
DEFINE_SPINLOCK into include/dahdi/kernel.h The check for
DEFINE_SPINLOCK was spread throughout the source tree. If not
defined we can just define it in inlucde/dahdi/kernel.h. Now
include/dahdi/kernel.h is the only place that references
SPIN_LOCK_UNLOCKED (which breaks lockdep checking if
DEFINE_SPINLOCK is otherwise defined in the kernel).
Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by:
Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks
<rmeyerriecks@digium.com> Acked-by: Tzafrir Cohen
<tzafrir.cohen@xorcom.com> Review:
https://reviewboard.asterisk.org/r/940/ Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9411
* drivers/dahdi/dahdi-base.c: dahdi: Enable DTMF A,B,C, and D
digits. This appears to be an old regression from zaptel r4063
[1] that would prevent DAHDI from generating the A,B,C, and D
digits due to unintentional drop through on a case statement. [1]
http://svn.asterisk.org/view/zaptel?view=revision&revision=4063
Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9912
* drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Updating copyright. The
wcb4xxp driver was edited this year. Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9911
2011-04-14 20:32 +0000 [r9904] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wcte12xp/base.c: wcte12xp: If we cannot read the
mode selection pins fail the module load. Alexandre reported that
on a particular server he would get a server crash when loading
the wcte12xp driver after receiving a line about a timeout when
trying to read the mode selection jumpers. If the driver times
out when trying to read the mode selection bits there is a
serious problem and it should not try to continue on with
configuration / registration. Reported-and-Tested-by: Alexandre
Abreu <alexandre.abreu@redt.com.br> Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9902
2011-04-11 18:45 +0000 [r9895] Shaun Ruffell <sruffell@digium.com>
* include/dahdi/kernel.h: dahdi: Do not define dev_name if already
backported. RHEL 5.6 has backported dev_name in
include/dahdi/devices.h. We now need to check for a back ported
definition before defining our own version on pre 2.6.26 kernels.
(closes issue #18992) Reported by: ndupeux, AlexCeli Tested by:
elguero Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9894
2011-04-11 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux version 2.4.1.2 released.
2011-04-11 18:45 +0000 [r9895] Shaun Ruffell <sruffell@digium.com>
* include/dahdi/kernel.h: dahdi: Do not define dev_name if already
backported. RHEL 5.6 has backported dev_name in
include/dahdi/devices.h. We now need to check for a back ported
definition before defining our own version on pre 2.6.26 kernels.
(closes issue #18992) Reported by: ndupeux, AlexCeli Tested by:
elguero Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9894
2011-03-31 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux version 2.4.1.1 released.
2011-03-15 19:15 +0000 [r9828] Shaun Ruffell <sruffell@digium.com>
* wctdm24xxp: Fix regression with LEDS on TDM410.
2011-03-03 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux version 2.4.1 released.
2011-02-11 17:52 +0000 [r9757-9760] Shaun Ruffell <sruffell@digium.com>
* 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
<sruffell@digium.com> 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 <kmoore@digium.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com> 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
<sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by:
Tzafrir Cohen <tzafrir.cohen@xorcom.com> 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
<sruffell@digium.com> Acked-by: Tzafrir Cohen
<tzafrir.cohen@xorcom.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9396
2011-02-10 16:29 +0000 [r9746-9755] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
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 <sruffell@digium.com> 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 <sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9750
* include/dahdi/kernel.h: dahdi: Add '#include <linux/kobject.h>'
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
<jkl345@alice-dsl.net> Signed-off-by: Shaun Ruffell
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9697
2011-02-09 12:45 +0000 [r9745] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* build_tools/live_dahdi: live_dahdi: Fix regression from r9508
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9532
2011-01-31 18:09 +0000 [r9723-9726] Shaun Ruffell <sruffell@digium.com>
* /: 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 <jaco@uls.co.za> Signed-off-by: Shaun
Ruffell <sruffell@digium.com> 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 <sruffell@digium.com> 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
<sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by:
Tzafrir Cohen <tzafrir.cohen@xorcom.com> 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 <creslin@digium.com>
* 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 <sruffell@digium.com>
* /: 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
<sruffell@digium.com> Origin:
http://svnview.digium.com/svn/dahdi?view=rev&rev=9635
* README: README: clarify required kernel configuration
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> 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 <sruffell@digium.com> Acked-by: Kinsey Moore
<kmoore@digium.com> 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 <sruffell@digium.com> Acked-by:
Kinsey Moore <kmoore@digium.com> 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
<sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com>
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 <sruffell@digium.com>
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
<sruffell@digium.com> 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
<sruffell@digium.com> Signed-off-by: Russ Meyerriecks
<rmeyerriecks@digium.com> Acked-by: Kinsey Moore
<kmoore@digium.com> 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
<sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-By: Russ Meyerriecks <rmeyerriecks@digium.com> 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 <sruffell@digium.com> Acked-by: Kinsey Moore
<kmoore@digium.com> Acked-By: Russ Meyerriecks
<rmeyerriecks@digium.com> 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 <sruffell@digium.com> Acked-by: Kinsey Moore
<kmoore@digium.com> Acked-By: Russ Meyerriecks
<rmeyerriecks@digium.com> 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
<sruffell@digium.com> 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 <sruffell@digium.com> Acked-by:
Angelos Varvitsiotis <avarvit@admin.grnet.gr> 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
<tzafrir.cohen@xorcom.com> 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 <tzafrir.cohen@xorcom.com> 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
<tzafrir.cohen@xorcom.com> 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
<sruffell@digium.com> 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
<sruffell@digium.com> LKML-Reference:
<20100907125057.562399240@linutronix.de> Acked-by: Tzafrir Cohen
<tzafrir.cohen@xorcom.com> 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 <sruffell@digium.com> 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 <sruffell@digium.com> Acked-by: Kinsey Moore
<kmoore@digium.com> Acked-by: Russ Meyerriecks
<rmeyerriecks@digium.com> 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 <sruffell@digium.com> Acked-by:
Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks
<rmeyerriecks@digium.com> 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 <sruffell@digium.com> 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 <sruffell@digium.com> Acked-by: Russ
Meyerriecks <rmeyerriecks@digium.com> 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 <sruffell@digium.com> Acked-by: Kevin P. Fleming
<kpfleming@digium.com> 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 <sruffell@digium.com> 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
<sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> 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
<kmoore@digium.com> Signed-off-by: Shaun Ruffell
<sruffell@digium.com> 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 <kmoore@digium.com> Signed-off-by: Shaun Ruffell
<sruffell@digium.com> 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 <sruffell@digium.com> 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 <sruffell@digium.com> 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 <sruffell@digium.com>
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 <sruffell@digium.com> 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 <linux/slab.h>
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 <sruffell@digium.com> 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 <sruffell@digium.com>
* dahdi-linux version 2.4.0 released.
2010-08-27 21:59 +0000 [r9204-9205] Shaun Ruffell <sruffell@digium.com>
* 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
<sruffell@digium.com>
* 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 <rmeyerriecks@digium.com>
2010-08-24 18:44 +0000 [r9188] Russ Meyerriecks <rmeyerreicks@digium.com>
* 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 <rmeyerreicks@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.4.0-rc1 released.
2010-08-17 17:15 +0000 [r9144-9145] Shaun Ruffell <sruffell@digium.com>
* 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 <rmeyerreicks@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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
<sruffell@digium.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: 'is_span_digital' ->
'dahdi_is_span_digital' Signed-off-by: Shaun Ruffell
<sruffell@digium.com>
* 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
<sruffell@digium.com>
2010-08-12 19:38 +0000 [r9127] Matthew Fredrickson <creslin@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <rmeyerreicks@digium.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/dahdi-base.c: dahdi: Trivial spelling change.
2010-08-05 21:05 +0000 [r9090] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* README: Proper Mantis category to use
2010-07-31 04:00 +0000 [r9059-9073] Alec L Davis <sivad.a@paradise.net.nz>
* 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 <kmoore@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <rmeyerreicks@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <creslin@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <creslin@digium.com>
* 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 <creslin@digium.com>
* drivers/dahdi/wct4xxp/base.c: Make noburst parameter override
burst flag.
2010-07-14 11:50 +0000 [r8872-8931] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* drivers/dahdi/wcb4xxp/base.c: Extra PCI ID for Junghanns PCI-E
cards.
2010-07-02 18:58 +0000 [r8849] Matthew Fredrickson <creslin@digium.com>
* drivers/dahdi/wct4xxp/base.c: Add support for max_latency module
parameter in wct4xxp
2010-06-30 20:23 +0000 [r8841] Matthew Fredrickson <creslin@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <mspiceland@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <mspiceland@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Do not access memory
after we free it.
2010-05-24 16:55 +0000 [r8680] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/hpec/dahdi_echocan_hpec.c: hpec: #include
<linux/slab.h> Fix the same issue as in r8550 , for
dahdi_echocan_hpec.c: With kernel 2.6.34 an explicit '#include
<slab.h>' is required for using kzalloc() and friends.
2010-05-23 12:17 +0000 [r8673-8674] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <slab.h>' is required for using kzalloc() and friends.
* drivers/dahdi/dahdi_transcode.c: A typo (lintian)
2010-05-17 21:44 +0000 [r8653] Matthew Fredrickson <creslin@digium.com>
* drivers/dahdi/wcb4xxp/base.c: Merge in pulse mask improvement
patch for B410P.
2010-05-17 14:45 +0000 [r8641-8642] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.3.0.1 released.
2010-05-14 16:02 +0000 [r8621] Shaun Ruffell <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* /, drivers/dahdi/dahdi_echocan_jpah.c: missing #include: fixes
building with 2.6.34-rc5 With kernel 2.6.34-rc5 an explicit
'#include <slab.h>' 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.3.0 released.
2010-04-06 23:19 +0000 [r8473-8494] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <rmeyerreicks@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* README: document the header line of /proc/dahdi/NN
2010-03-23 21:56 +0000 [r8399-8400] Shaun Ruffell <sruffell@digium.com>
* 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 <rmeyerriecks@digium.com>
* dahdi-linux version 2.2.1.1 released.
2010-03-10 17:04 +0000 Russ Meyerriecks <rmeyerriecks@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.2.1 released.
2010-01-11 13:40 +0000 [r7844] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* /, 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <jparker@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.2.0-rc5 released.
2009-05-27 12:48 +0000 [r6659] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <dbailey@digium.com>
* 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 <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* 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 <kpfleming@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* Makefile: Also install dahdi_config.h to /usr/include/dahdi
2009-04-02 20:34 +0000 [r6301-6312] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* 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 <wthompson@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <jparker@digium.com>
* drivers/dahdi/dahdi_dynamic_loc.c: Fix a typo
2009-03-17 17:59 +0000 [r6170-6191] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <wthompson@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wctc4xxp/base.c: Use the proper pci_device when
handling dma buffers.
2009-02-10 14:07 +0000 [r5997] Matthew Fredrickson <creslin@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* 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 <creslin@digium.com>
* 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 <mspiceland@digium.com>
* 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 <rmudgett@digium.com>
* include/dahdi/user.h: Minor comment rearangement to avoid
possible confusion.
2009-01-28 04:41 +0000 [r5870] Shaun Ruffell <sruffell@digium.com>
* drivers/dahdi/wcb4xxp/base.c: Ensure the teignorered parameter is
exposed as a module parameter. Related to issue #14031 .
2009-01-27 Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0.3 released.
2008-12-17 15:57 +0000 [r5535-5576] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0.2 released.
2008-12-15 20:31 +0000 [r5534-5535] Shaun Ruffell <sruffell@digium.com>
* 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 <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0.1 released.
2008-12-11 21:46 +0000 [r5509] Shaun Ruffell <sruffell@digium.com>
* include/dahdi/kernel.h: Add definition of dev_notice for kernels
< 2.6.17.
2008-12-11 21:03 +0000 [r5498-5504] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wctc4xxp/base.c: Fix compilation issues
on 2.6.15 and below kernels. Thanks tzafrir.
2008-12-09 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux version 2.1.0 released.
2008-12-09 18:49 +0000 [r5453] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* live_dahdi (added): live_dahdi - test dahdi without fully
installing it.
2008-12-06 22:23 +0000 [r5444] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wcte11xp.c, drivers/dahdi/wct1xxp.c: Validate the
timing priority on the wcte11xp and wct1xxp driver.
2008-11-25 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux version 2.1.0-rc5 released.
2008-11-25 20:00 +0000 [r5383-5384] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <jparker@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0-rc4 released.
2008-11-17 18:17 +0000 [r5321] Shaun Ruffell <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0-rc3 released.
2008-11-10 19:48 +0000 [r5275] Shaun Ruffell <sruffell@digium.com>
* 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 <sean.bright@gmail.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0-rc2 released.
2008-11-05 20:17 +0000 [r5230-5237] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* dahdi-linux version 2.1.0-rc1 released.
2008-11-03 12:01 +0000 [r5203-5211] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <creslin@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <jparker@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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/<bus>:<unit>:<subunit> * 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <kpfleming@digium.com>
* 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 <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* 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 <sean.bright@gmail.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sean.bright@gmail.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wctc4xxp/base.c: Removing references to setup_timer
in pre 2.6.18 kernels.
2008-09-29 Shaun Ruffell <sruffell@digium.com>
* dahdi-linux 2.0.0 released.
2008-09-28 17:29 +0000 [r5002-5007] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* drivers/dahdi/wcte12xp/base.c: Adding a needed header for the
in_atomic call.
2008-09-18 21:23 +0000 [r4956-4957] Shaun Ruffell <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <sruffell@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <russell@digium.com>
* dahdi-linux version 2.0.0-rc4 released.
2008-09-06 20:27 +0000 [r4868-4870] Matthew Fredrickson <creslin@digium.com>
* 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 <creslin@digium.com>
* 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 <sruffell@digium.com>
* 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 <creslin@digium.com>
* drivers/dahdi/dahdi-base.c: Remove useless kzalloc
2008-08-27 17:12 +0000 [r4848-4849] Kevin P. Fleming <kpfleming@digium.com>
* 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 <jparker@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <jparker@digium.com>
* Makefile: Make sure we remove headers that we installed in
install-include
2008-08-25 14:54 +0000 [r4823] Shaun Ruffell <sruffell@digium.com>
* 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 <creslin@digium.com>
* 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 <kpfleming@digium.com>
* 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 <kpfleming@digium.com>
* dahdi-linux version 2.0.0-rc3 released.
2008-08-20 22:20 +0000 [r4801-4805] Kevin P. Fleming <kpfleming@digium.com>
* 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 <sruffell@digium.com>
* 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 <kpfleming@digium.com>
* drivers/dahdi/firmware/Makefile: port over improvements to
firmware Makefile from Zaptel
2008-08-19 20:25 +0000 [r4791-4794] Shaun Ruffell <sruffell@digium.com>
* 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 <kpfleming@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* drivers/dahdi/dahdi_transcode.c: remove devfs support, and use
consistent include file path
2008-08-13 21:04 +0000 [r4770] Doug Bailey <dbailey@digium.com>
* 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 <tzafrir.cohen@xorcom.com>
* 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 <kpfleming@digium.com>
* dahdi-linux version 2.0.0-rc2 released.
2008-08-07 20:21 +0000 [r4742] Shaun Ruffell <sruffell@digium.com>:
* drivers/dahdi/dahdi_transcode.c: Make sure types are same size on
64-bit machines.
2008-08-06 Kevin P. Fleming <kpfleming@digium.com>
* dahdi-linux version 2.0.0-rc1 released.