2011-09-06 Shaun Ruffell <sruffell@digium.com>

	* dahdi-linux 2.5.0.1 released.

2011-09-05 10:29 +0000 [r10180]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/firmwares/PIC_TYPE_1.hex,
	  drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex,
	  drivers/dahdi/xpp/firmwares/FPGA_1161.hex: xpp: firmware to
	  detect the new 2+6 module New firmwares to handle the new
	  2FXS/6FXO module. FPGA_1161.hex, PIC_TYPE_1.hex, PIC_TYPE_2.hex
	  of internal rev. 9732 Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

2011-08-30 21:06 +0000 [r10173]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/firmware/Makefile: wcte12xp, wctdm24xxp: Update
	  VPMOCT032 firmware to 1.11.0. Firmware version 1.11.0 resolves an
	  issue where the driver fails to detect certain VPMOCT032 modules
	  after a cold boot. Signed-off-by: Doug Bailey
	  <dbailey@digium.com> Acked-by: Shaun Ruffell
	  <sruffell@digium.com> Origin:
	  http://svnview.digium.com/svn/dahdi?view=rev&rev=10172

2011-08-28 09:45 +0000 [r10157]  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-19 22:53 +0000 [r10149-10150]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Set 'fastoffhook'
	  counter to 8ms and turn off calibration delay. r10006
	  "wctdm24xxp: Add 'fastpick' module parameter." copied the
	  fast-off hook module parameter from the wctdm.c driver, but the
	  setting in that driver does not match the data sheet. The
	  previous commit did not actually change any of the significant
	  bits in that register. Also, that commit changed the timer, but
	  did not disable the callibration delay which is necessary for
	  Type-II callerid. The fastpickup option in the wctdm24xxp driver
	  should now match the fastpickup option in the wctdm driver.
	  DAHDI-224. Reported-By: Kinnith Wallace <kwallace@digium.com>
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin:
	  http://svnview.digium.com/svn/dahdi?view=rev&rev=10148

	* drivers/dahdi/wctdm.c: wctdm: Set 'fastpickup' counter to 8ms
	  This fixes what looks like a typo in r1055 [1]. [1]
	  http://svnview.digium.com/svn/dahdi?view=revision&revision=1055
	  Reported-by: Kinnith Wallace <kwallace@digium.com> Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com> Origin:
	  http://svnview.digium.com/svn/dahdi?view=rev&rev=10147

2011-08-18 19:35 +0000 [r10145-10146]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use our own free
	  list for IRQ commands. Really only *necessary* when SLAB
	  debugging is enabled, but in that case, can reduce the chance of
	  latency bumps when first loading the driver. Otherwise the
	  constant slab poisoning / checking in interrupt context from the
	  kmalloc / kfrees is too much. 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=10144

	* 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-15 21:55 +0000 [r10139]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Fix lock imbalance in
	  wctc4xxp_watchdog. r10082 "wctc4xxp: Cleanup in-flight commands
	  when halting due to hardware error." introduced a lock imblance
	  on the error path where the cmd_list_lock would be unlocked twice
	  when the board is halted due to a hardware error. Thanks sparse.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin:
	  http://svnview.digium.com/svn/dahdi?view=rev&rev=10138

2011-08-12 16:06 +0000 [r10115-10119]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/voicebus/voicebus.c: wcte12xp, wctdm24xxp: Force
	  local interrupts off in the interrupt handler. r10066
	  "wctdm24xxp, wcte12xp: Run the ISR with interrupts disabled."
	  requested that the interrupt handler be run in "fast" mode
	  (disabled) but this isn't necessarily guaranteed. This patch
	  makes the interrupt handler itself disable all the interrupts.
	  Linux commit 470c66239ef0336429b35345f3f615d47341e13b [1]
	  contains a comment about why this is necessary. [1]
	  http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=470c66239ef03364
	  (closes issue DAHLIN-248) Reported-and-Tested-by: Vladimir
	  Mikhelson <vlad@mikhelson.com> Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Origin:
	  http://svnview.digium.com/svn/dahdi?view=rev&rev=10118

	* 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

	* 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

2011-08-09 12:26 +0000 [r10098-10100]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/firmwares/FPGA_1161.hex: FPGA_1161 rev 9605: EC
	  related bug fixes Astribank II FPGA firmware rev 9605. Includes
	  two bug fixes: * Error in checking EC licenses when the license
	  was for exactly 64 or 128 channels. * Proper handling of a slave
	  FXO Astribank (in line with the quirks handling from r10019).
	  Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* / (added): A stable branch for DAHDI-linux 2.5

2011-08-05 Shaun Ruffell <sruffell@digium.com>

	* dahdi-linux 2.5.0 released.

2011-07-26 20:19 +0000 [r10082]  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>

2011-07-22 17:56 +0000 [r10079]  Russ Meyerriecks <rmeyerreicks@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>

2011-07-21 Shaun Ruffell <sruffell@digium.com>

	* dahdi-linux version 2.5.0-rc2 released.

2011-07-21 16:26 +0000 [r10066-10070]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Drivers that do not support
	  hwec should not report hwec is available. When attaching software
	  echocans to a channel, if there is a hardware echocan available
	  always give preference to them. Revision 9995 "dahdi: Always
	  attach hwec to a channel if available" had an error where if a
	  driver did not even support an option of hardware echocan,
	  dahdi-base would take that to mean there always was a hardware
	  echocan available on the channel. DAHLIN-246 Reported-by: Michael
	  L. Young Signed-off-by: Shaun Ruffell <sruffell@digium.com>
	  Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Run the
	  ISR with interrupts disabled. Revision 9886, "wcte12xp: Use the
	  in-hardirq versions of dahdi_receive/dahdi_transmit", changed the
	  call into dahdi_receive and dahdi_transmit to use versions that
	  assume local interrupts are already disabled. Not all versions of
	  the kernel run interrupt service routines with all interrupts
	  disabled and therefore it was possible to lock up a CPU with a
	  recursive grab of the chan_lock. When LOCKDEP was enabled (on
	  debug kernels) interrupt handlers were run atomically so this
	  problem would only occur on pre 2.6.35 kernels that did not have
	  lockdep enabled. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-07-20 21:32 +0000 [r10063-10064]  Russ Meyerriecks <rmeyerreicks@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: Fix bug when not
	  recognizing loopup codes The wcte12xp wasn't recognizing
	  loopup/loopdown signals. The debounce was so long that it was
	  preventing the loopup/loopdown signals from being registered
	  properly. Removed the debounce entirely as it was unnecessary to
	  the operation. Signed-off-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wct4xxp/base.c: wct4xxp: Fixed a bug where it sent
	  loopdown signals forever The wct4xxp driver was resetting it's
	  maint state to NONE prematurely. Signed-off-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-07-20 17:24 +0000 [r10060-10061]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wct4xxp/base.c: wct4xxp: Fix compilation when
	  VPM_SUPPORT is not defined. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* 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>

2011-07-20 16:50 +0000 [r10050-10058]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* README: README: KVERS, KSRC in live.conf Signed-off-by: Tzafrir
	  Cohen <tzafrir.cohen@xorcom.com>

	* build_tools/live_dahdi: live_dahdi: symlink_ast live_dahdi: Add a
	  new command: symlink_ast, to make the system's
	  /etc/asterisk/dahdi-channels.conf a symlink to the one generated
	  by 'reload' / 'genconf'. If the system dahdi-channels.conf is a
	  generated one and has not edited, there's no real harm with
	  running this. Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/dahdi-base.c: get registration_mutex at free_pseudo
	  Make sure that the call to dahdi_chan_unreg() in free_pseudo() is
	  protected by the registration_mutex, like the other calls to that
	  function. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
	  Acked-By: Oron Peled <oron.peled@xorcom.com> Acked-by: Shaun
	  Ruffell <sruffell@digium.com>

	* drivers/dahdi/xpp/xbus-core.c: xpp: increase command queue lenge
	  to 1000 Required by CAS in latest (2.5) DAHDI versions.
	  Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/xbus-core.h: xpp: make quirk bit flags unsigned
	  This avoids a nag about a meaningless single-bit signed int.
	  Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/card_pri.c: xpp: PRI_timing_priority can be
	  static. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/xframe_queue.c: xpp: rate limit queue overflow
	  messages If the CPU becomes overly busy, merely printing the
	  "Overflow in the recieve_queue" messages becomes CPU-intensive on
	  its own right. Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* build_tools/live_dahdi: live_dahdi: xpp_fxloader: use live
	  xpp.conf xpp_fxloader also reads /etc/dahdi/xpp.conf in one
	  specific case. Make it use the live copy.

	* build_tools/live_dahdi: live_dahdi: no need to create asterisk at
	  genconf /etc/asterisk already gets generated at config. No need
	  to re-create it at genconf time. Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

2011-07-18 23:32 +0000 [r10047]  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>

2011-07-12 18:15 +0000 [r10036-10038]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/firmwares/Makefile: xpp: install Octasic
	  frmware if it's there If the OCT6104E-256D.ima Octasic firmware
	  was downloaded to the build directory, install it over with the
	  rest of the firmware files. Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/xpp_dahdi.c: xpp: Demote notices for HWEC
	  create/free to debug Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Add dynamic dahdi parameter
	  hwec_overrides_swec. If set to true (default) a HWEC, if
	  available on the channel, takes priority over any software
	  echocan configured in /etc/dahdi/system.conf. This has
	  historically been the default behavior in all released versions
	  of DAHDI that support module echocans. Otherwise,
	  hwec_overrides_swec is set to false, HWEC is chosen only via the
	  "echocanceller=hwec" directive. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Signed-off-By: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com> Acked-By: Oron Peled
	  <oron.peled@xorcom.com>

2011-07-07 13:43 +0000 [r10028]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* build_tools/live_dahdi: live_dahdi: create asterisk in the live
	  tree Make sure you have etc/asterisk in the live tree before
	  generating configuration. Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

2011-07-05 17:23 +0000 [r10024]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c,
	  drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c:
	  oct612x: Eliminate some compiler warnings. Eliminate "large
	  integer implicitly truncated to unsigned type" warnings from
	  r10010. Signed-off-by: Shaun Ruffell <sruffell@digium.com>
	  Acked-by: Doug Bailey <dbailey@digium.com> Acked-by: Tzafrir
	  Cohen <tzafrir.cohen@xorcom.com>

2011-07-04 14:05 +0000 [r10019-10022]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/card_fxs.c: xpp: xpd_fxs: ring_trapez parameter
	  This adds module parameter 'ring_trapez'. When set, the wave form
	  of the ring tone is set to be a trapezoid, rather than sine. Thus
	  making the ring stronger. This is a boolean parameter of the
	  module xpd_fxs. Takes effect at the beginning of the next ring.
	  Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_bri.c: A
	  number of cases of testing for unsigned int < 0 Signed-off-by:
	  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_echo.c: xpp:
	  Eliminate "set but unused" compiler warnings. gcc 4.6 complains
	  about variables that are assigned values but then never used.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-By:
	  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-core.c,
	  drivers/dahdi/xpp/xbus-core.h: xpp: add FXO HWEC quirks handling
	  In some cases the hardware echo canceller cannot be used. Mostly
	  related to an FXO module. * FXO module if the first module is BRI
	  or PRI * FXS module if the Astribank has another FXO, no PRI/BRI,
	  and is a sync slave. Signed-off-by: Oron Peled
	  <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

2011-07-01 15:45 +0000 [r10016-10017]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Return NULL if there is
	  not a hardware EC on installed. r9943 enabled the presence of
	  hardware EC to be probed on a card. That change did not account
	  for wcb4xxp based cards that did not have a hardware echocan on
	  board. Signed-off-by: Shaun Ruffell <sruffell@digium.com>
	  Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/wct4xxp/base.c: wct4xxp: Add module parameter to
	  ignore rotary switch settings. The dual and quad span cards have
	  a rotary switch onboard which controls the order that cards
	  serviced by this driver are registered with the core of DAHDI.
	  This commit adds a module parameter 'ignore_rotary' which, when
	  set to 1, causes the driver to ignore the position of the rotary
	  switch and only consider the physical slot when registering with
	  DAHDI. Ignoring the rotary switch settings also permits the PCI
	  device to be bound and unbound from the driver at runtime since
	  registration with DAHDI no longer only happens when the module is
	  first initialized. By default, the rotary switch will still be
	  used to determine registration order. This commit does not change
	  the default behavior. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-06-30 22:02 +0000 [r10010-10014]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* build_tools/live_dahdi: Also loca xpd_echo in live_dahdi, if
	  available Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/firmwares/FPGA_1161.hex,
	  drivers/dahdi/xpp/firmwares/USB_FW.hex: xpp: FPGA_1161 rev 9252,
	  USB_FW rev 8826: HWEC New Astribank II FPGA firmware and USB
	  firmwares that add support for the hardware echo canceller
	  module. Note that due to a bug in previous FPGA firmwares, an
	  Astribank with such older firmware and with a hardware echo
	  canceller module will not have any functioning audio at all.
	  Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/init_card_5_30 (added),
	  drivers/dahdi/xpp/firmwares/Makefile: xpp: also install init
	  (non)script for xpd_echo

	* drivers/dahdi/oct612x/include/oct6100api/oct6100_defines.h,
	  drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c,
	  drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c,
	  drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_inst.h:
	  oct612x: Fixes for Octasic user space compilation: * Don't assume
	  a pointer diff is 16 bits only. * cOCT6100_INVALID_VALUE should
	  be used against 32 unsigned values * Make 3 constants adjustable
	  via '-Dmacro=value': - cOCT6100_INTERNAL_SUPER_ARRAY_SIZE -
	  cOCT6100_MAX_ECHO_CHANNELS - cOCT6100_MAX_MIXER_EVENTS
	  Signed-off-by: Oron Peled <oron.peled@xorcom.com> Signed-off-by:
	  Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Doug Bailey
	  <dbailey@digium.com> Acked-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-06-29 22:15 +0000 [r10000-10008]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Fix typo in previous
	  commit for fastpickup mode. I failed to compile the commit
	  exactly as it was committed. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Add 'fastpick'
	  module parameter. When true / 1 the FXO port will use a shorter
	  off-hook calibration delay. This is sometimes necessary in order
	  to properly decode Type-II Caller ID information which is sent
	  shortly after an FXO port goes off hook. Defaults to 0 unless
	  opermode is "JAPAN" then it will default to 1. This functionality
	  was ported from the wctdm.c driver. DAHDI-854. Signed-off-by:
	  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>

	* include/dahdi/user.h, include/dahdi/kernel.h: Revert "dahdi: Use
	  enumeration for maintenance modes." This reverts commit r9879.
	  Asterisk commit r264249 [1], which was committed after the switch
	  to enumerations, requires the maintenance modes to be Changing
	  the test in configure.ac from: AST_C_DEFINE_CHECK([DAHDI],
	  [DAHDI_RESET_COUNTERS], [dahdi/user.h], [230]) to:
	  AST_C_COMPILE_CHECK([DAHDI], [int foo = DAHDI_RESET_COUNTERS],
	  [dahdi/user.h]) Would allow the maintenance modes to stand as
	  enumerations but the potential for users to run incompatible
	  versions does not seem worth it at this point. [1]
	  http://svnview.digium.com/svn/asterisk?view=revision&revision=264249
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ
	  Meyerriecks <rmeyerriecks@digium.com>

2011-06-28 22:29 +0000 [r9997-9998]  Russ Meyerriecks <rmeyerreicks@digium.com>

	* drivers/dahdi/voicebus/vpmoct.c, drivers/dahdi/wcte12xp/base.c,
	  drivers/dahdi/voicebus/vpmoct.h, drivers/dahdi/wctdm24xxp/xhfc.c,
	  drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c,
	  drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp, wctdm24xxp: Load
	  VPMOCT032 firmware in background. The firmware load has been
	  moved into a workqueue to prevent the module load from blocking
	  for the duration of the firmware upload. This could be up to 40
	  seconds. Driver prevents configuration until firmware load is
	  finished and is_initialized() returns true. Signed-off-by: Russ
	  Meyerriecks <rmeyerriecks@digium.com> Signed-off-by: Shaun
	  Ruffell <sruffell@digium.com>

	* drivers/dahdi/voicebus/vpmoct.c (added),
	  drivers/dahdi/wcte12xp/base.c, drivers/dahdi/firmware/Makefile,
	  drivers/dahdi/voicebus/Kbuild, drivers/dahdi/voicebus/vpmoct.h
	  (added), drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c,
	  drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp, wctdm24xxp: Add
	  support for the VPMOCT032 hardware echocanceler. Support enabled
	  for the vpmoct032 echo cancellation module for the wctdm24xxp and
	  wcte12xp drivers. Signed-off-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com> Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-06-28 21:29 +0000 [r9995]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Always attach hwec to a
	  channel if available. In previous releases of DAHDI if dahdi_cfg
	  attached a software echocan to a channel and a hardware echocan
	  was available, the hardware echocan would be used instead of the
	  software echocan. Since the 2.4 branch was created a new feature
	  was merged into dahdi-linux where it was possible to mix software
	  echocan and hardware echocan on a channel. This required using
	  "hwec" as the echocan in the /etc/dahdi/system.conf file so that
	  what was specified in the configuration file is what was actually
	  used. This has resulted in users upgrading to the trunk of dahdi
	  without updating their /etc/dahdi/system.conf file and just
	  suddenly not using any hardware echocans any longer. The
	  capability to mix software and hardware echocans on a span will
	  be revisted when running dahdi_cfg on any preexisting
	  configuration files doesn't just silently turn off hardware
	  echocan. Signed-off-by: Shaun Ruffell <sruffell@digium.com>

2011-06-28 18:23 +0000 [r9993]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_fxo.c,
	  drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/card_fxs.c,
	  drivers/dahdi/xpp/Kbuild, drivers/dahdi/xpp/xproto.c,
	  drivers/dahdi/xpp/xpp_debug, drivers/dahdi/xpp/xbus-pcm.c,
	  drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xpd.h,
	  drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/xbus-pcm.h,
	  drivers/dahdi/xpp/xpp_dahdi.h, drivers/dahdi/xpp/card_bri.c,
	  drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_echo.c
	  (added), drivers/dahdi/xpp/card_echo.h (added),
	  drivers/dahdi/xpp/xbus-core.h: xpd_echo: XPP Octasic echo
	  canceler module * xpd_echo (card_echo.c) - a module to handle an
	  Astribank hardware echo canceller module. * All other XPDs are
	  now of type 'telephony_device'. Only a telephony device XPD
	  provides a span to register. * The EC module will typically show
	  up as XPD-40 and will always show up as Unregistered in
	  'dahdi_hardware -v' Signed-off-by: Oron Peled
	  <oron.peled@xorcom.com> Signed-off-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

2011-06-28 15:55 +0000 [r9989-9991]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/dahdi-base.c: Revert "dahdi: Group dahdi timers
	  into "rates" for improved CPU utilization." This reverts commit
	  r9891 and is part of two commits to revert all the timer changes.
	  Grouping the timer into rates did not allow a timers rate to be
	  changed after another thread is already blocked on the poll call
	  The problem that was reported was if a sip call was made to a
	  DAHDI channel and the sip call was disconnected before answer,
	  the DAHDI channel would never stop rining. Signed-off-by: Shaun
	  Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com>

	* drivers/dahdi/dahdi-base.c: Revert "dahdi: If a timer is not
	  configured then we should block indefinitely." This reverts
	  commit r9937 and is part of two commits to revert all the timer
	  changes. Grouping the timer into rates did not allow a timers
	  rate to be changed after another thread is already blocked on the
	  poll call Signed-off-by: Shaun Ruffell <sruffell@digium.com>
	  Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com>

	* include/dahdi/kernel.h: kernel.h: Define __packed if not already
	  defined. Linux kernel v2.6.22 introduced the __packed macro to
	  allow the gcc specific __attribute__((packed)) extension to be
	  overridden if required and checkpatch.pl will complain if you
	  don't use it. For some strange reason gcc doesn't complain when
	  you use non-existant decorators. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Signed-off-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com>

2011-06-20 16:01 +0000 [r9981]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: Start alarm timer after
	  marking board initialized. r9946, "wcte12xp: Move the VPMADT032
	  test/configuration to module load time." introduced a race
	  condition where it was possible for the timer that initiates the
	  check for the alarms to fire before the board was marked
	  initialized. This would result in a board that would never again
	  check it's alarm state since the first time the timer runs
	  INITIALIZED may not be set and it will not reschedule a check
	  since it believes the driver is unloading. This happened because
	  the check for the VPM was moved between when the timer was first
	  setup and when INITIALIZED was then set. Now we make sure
	  INITIALIZED is set before the timer is first setup, and move
	  those two operations together. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Acked-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com>

2011-06-11 01:58 +0000 [r9977]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Do not read extra
	  register when test for FXO module fails. In commit r9968
	  "wctdm24xxp: Allow more than one outstanding read at a time" I
	  introduced a regression where the transmit FIFO on the data
	  channel of a B400M could get locked up. The result would be
	  constant HDLC overflows when writing to the data channel. This
	  regression did not make it into any releases and did not exhibit
	  itself when crossing spans on a single B400M module. This is a
	  partial revert of commit r9968. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-06-02 20:04 +0000 [r9928-9971]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Do not export board
	  number in the device description. The board number dupliates the
	  information that is available in the location field. Exporting it
	  as part of the description makes the name dependent on the driver
	  bind order which is not desirable. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Calculate the SPI
	  offsets ahead of time. Updates the CMD_BYTE macro to use
	  precalculated offsets. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Shorten up some of
	  the sleeps/waits. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Allow more than one
	  outstanding read at a time. Since every read needs to go through
	  the complete voicebus pipeline, if we know we're going to read
	  multiple bytes we can queue them all up. Signed-off-by: Shaun
	  Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: reglock can be used
	  to protect the txhookstate. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use lists for SPI
	  commands to the modules. Saves time in the interrupt handler by
	  eliminating the need to scan through all of the slots in the cmd
	  arrays. Also allows the reads from ISR context to automatically
	  grow as the latency grows. This ensures that battery and hook
	  state is actually checked every frame like originally intended.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Cleanup in
	  wctdm_identify_modules. Trivial reformatting that preps it for
	  some parallelizing the module loads. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Remove 'pos' member
	  from 'struct wctdm'. The card position is only used during
	  startup so we don't need to carry it around in the strucuture.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Drop 'flags' from
	  'struct wctdm_module'. The voicebus cards only support the S110M
	  FXS modules which are based on the 3215. The module flags member
	  was only used to hold whether we were dealing with a 3210 or 3215
	  SLIC, so we can drop it since we always know we'll have a 3215
	  based SLIC. Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c,
	  drivers/dahdi/voicebus/GpakCust.h: wctdm24xxp: Hold the reglock
	  longer in the interrupt handler. Cuts down on the overhead of
	  constantly saving and restoring the interrupt registers.
	  Signed-off-by: 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: Pass the pointer to struct wctdm_module directly
	  instead of index. This change gets all the easy places and saves
	  on array dereferences when we already have the address of the
	  module that we are interested in. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use pointer to
	  "struct fxs" in POLARITY_XOR. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Trivial. Reduce the
	  indentation level in wctdm_proslic_oppending. Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/xhfc.c,
	  drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use enumeration for
	  module types. This change is to primarily to clarify that the
	  types are always mutually exclusive. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Group the QRV
	  members together. This also allows us to add them to the union
	  with the other module types so they do not add to the memory
	  usage if there aren't any QRV modules installed. Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/xhfc.c,
	  drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Group the per-module
	  information together Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Dynamically allocate
	  the board_name. Move the data backing the mostly unused string
	  away from the active members of 'struct wctdm'. The location
	  where some of the other members of 'struct wctdm' are initialized
	  were moved so that wctdm_back_out_gracefully always has a fully
	  formed structure to work on. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Remove modmap member
	  from 'struct wctdm'. We can already use the module type to
	  determine presence of a module to check. This also moves the
	  background polling of the modules until after the board is
	  completely initialized because the module type may change while
	  the different types are being probed. This also means that we
	  need to preset the shadow registers for the FXS because otherwise
	  the shadow register will not have been read before the first time
	  it's checked for a power alarm. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h:
	  wcte12xp: Limit how many consecutive times to reset the VPMADT032
	  module. Both limit the amount of junk in the kernel log and also
	  prevent dahdi_cfg from running indefinitely if there is a module
	  with a hardware problem which prevents it from completing the
	  startup sequence. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp: Remove unused vpm100
	  member from 'struct t1' Signed-off-by: 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: wcte12xp, wctdm24xxp: Separate
	  test for VPMADT032 and initialization. Part of increasing system
	  startup speed. Splitting these two operations facilitate checking
	  if there is a module present synchronously on driver load from
	  the actual load of the firmware and configuration of the
	  channels. This will allow the presence of the VPM module to be
	  flagged on the span before registration, but load and
	  configuration can happen in the background. When the modules are
	  eventually loaded via udev, there will be enough time from the
	  time the drivers are loaded to when dahdi_cfg will run to
	  complete the firmware load, eliminating the need to block the
	  driver here. Signed-off-by: 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: wcte12xp, wctdm24xxp: Use a
	  constant string for the VPM workqueue name. In my opinion naming
	  the VPM workqueues for each board is not worth the extra
	  complexity. Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: Set the t1.vpmadt032
	  pointer under the reglock. Ensures that a single run of the
	  interrupt service routine is consistent about whether there are
	  VPMADT032 commands to process or not. Signed-off-by: Shaun
	  Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: Put "Span configured"
	  message behind debug flag. This message also duplicates what is
	  in the /etc/dahdi/system.conf file and should only be necessary
	  when troubleshooting problems. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: kmalloc/memset ->
	  kzalloc. This is trivial cleanup. Fixing up a couple of places
	  that followed a kmalloc with a memset to 0 and also sneaked in
	  one ARRAY_SIZE usage change. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: Move the VPMADT032
	  test/configuration to module load time. The firmware load of the
	  VPMADT032 was moved to startspan because a quad-span card in the
	  same system would would lock interrupts for several seconds to
	  load VPMOCT064/128 firmware. Now that the wct4xxp driver no
	  longer locks interrupts while loading its VPM module this driver
	  can move the VPMADT032 check/load back to module load time. This
	  is also required so that the presence of a hardware echo canceler
	  is marked on the span before it is registered with dahdi-base.c.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h:
	  wcte12xp: Force spanconfig/chanconfig to wait for ready. This is
	  always true currently but will not necessarily be in the future.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wctdm24xxp/xhfc.c,
	  drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
	  drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Block chanconfig and
	  spanconfig until board is ready. Currently the board will always
	  be ready if the module initialization function is complete but
	  this change will facilitate allowing some of the more time
	  consuming configuration steps to happen in parallel on system
	  start. Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/base.c,
	  drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/dahdi-base.c:
	  dahdi: Do not allow 'hwec' to be attached to channels that do not
	  have one. This defines a NULL value for the name of an echocan as
	  invalid. This will allow dahdi_genconf to probe for the presence
	  of a hardware echocan on a channel by trying to attach one. If
	  there is not a hardware echocan available DAHDI_ATTACH_ECHOCAN
	  ioctl will return -EINVAL if 'hwec' was specified as the name of
	  the echo canceler now. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* include/dahdi/kernel.h, drivers/dahdi/dahdi-base.c: dahdi:
	  Provide notification when preechocan buffer is created and
	  destroyed. Not quite ideal, but this seems to be the most
	  straightforward way to know when someone is trying to monitor the
	  preec stream on a channel. This callback allows the board driver
	  providing the span an opportunity to setup the hardware preecho
	  monitoring as needed. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* include/dahdi/kernel.h, drivers/dahdi/dahdi-base.c: dahdi: Update
	  the dahdi_ec_chunk interface to support preec streams.
	  dahdi_ec_chunk is the function that saves the received audio and
	  places a signed linear copy of it in the pre echocanceled buffer
	  on the channel. By splitting the input and output of this
	  function into two parameters, a driver that can provide separate
	  pre and post ec streams can pass them independently to DAHDI,
	  without worrying about DAHDI overwriting a stream that may have
	  already been echocanceled by the hardware. Previously, the
	  dahdi_ec_chunk interface took a received audio buffer and
	  overwrote it after canceling the echo. Now the input and output
	  from the function are broken up in order to support hardware
	  echocans that have a different preechocan stream. Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/tor2.c, drivers/dahdi/wcte12xp/base.c,
	  drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/xpp/card_pri.c,
	  include/dahdi/kernel.h, drivers/dahdi/wct4xxp/base.c,
	  drivers/dahdi/wctdm24xxp/xhfc.c, drivers/dahdi/wcte11xp.c,
	  drivers/dahdi/xpp/card_bri.c, drivers/dahdi/dahdi_dynamic.c,
	  drivers/dahdi/wct1xxp.c, drivers/dahdi/dahdi-base.c,
	  drivers/dahdi/wctdm24xxp/xhfc.h: dahdi: Allow
	  dahdi_span_ops.[chan|span]config and startup to block. This
	  change ensures that the dahdi_span_ops callbacks are not called
	  with any spinlocks held, and that the module is pinned in memory,
	  and also passes the struct file * pointer to the callbacks.
	  Passing the file pointer to the callbacks allows the board
	  drivers to check any flags on the file descriptor used to
	  configure the span/channel. The intent here is to allow
	  dahdi_config to open the /dev/dahdi/ctl file in a non-blocking
	  mode in case there is a lengthy processes that needs to happen as
	  part of configuration. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Do not release the echocan
	  under lock. This allows any echocan cleanup to block if
	  necessary. Especially useful for hardware echocans that may need
	  to wait for hardware to complete the cleanup process.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by:
	  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* include/dahdi/kernel.h: dahdi: Support "struct mutex" on pre
	  2.6.16 kernels. 'struct mutex' was introduced in 2.6.16. While
	  DAHDI previously allowed statically allocated mutexes, this
	  change is required in order to allow mutexes to be embedded in
	  dynamically allocated structures on older kernels. Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/dahdi-base.c: dahdi: If a timer is not configured
	  then we should block indefinitely. Some older Asterisk versions
	  do not handle well the error message when poll is called on an
	  unconfigured channel. The result would be constant __ast_read:
	  No/unknown event '0' on timer for 'DAHDI/1-1'? messages from
	  Asterisk. Signed-off-by: Shaun Ruffell <sruffell@digium.com>
	  Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Make tone zone registration
	  messages debug only. This duplicates information that is already
	  in the /etc/dahdi/system.conf file and should normally only be
	  necessary for the user when debugging problems. Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Propagate shutdown returncode
	  to user space. This change fixes a condition where 'dahdi_cfg -s'
	  would always return success regardless of whether a board driver
	  was able to complete the shutdown. Only impacts board drivers
	  that implemented the shutdown span callback. Signed-off-by: Shaun
	  Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* 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>

	* drivers/dahdi/wct4xxp/base.c: wct4xxp: Move the check for the VPM
	  to module load time. This allows dahdi-base to know whether or
	  not there is a VPM attached to the module as soon as it's
	  registered as opposed to waiting for start span. This will
	  simplify dahdi_genconf's task of creating a valid configuration
	  file. Signed-off-by: Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wct4xxp/base.c: wct4xxp: Do not set maintstat in
	  t4_clear_maint. If we always set maintstat to DAHDI_MAINT_NONE,
	  dahdi_base will lose track of what it thinks the current state of
	  the span is. For example, if you run $ dahdi_maint -s 1
	  --loopback localhost When t4_clear_maint is called, the current
	  maintenance mode state, 'maintstat', is set to DAHDI_MAINT_NONE.
	  So the next time you call: $ dahdi_maint -s 1 --loopback off
	  dahdi-base.c will believe that the user is trying to set the
	  maintenance state from DAHDI_MAINT_NONE to DAHDI_MAINT_NONE and
	  will not actually do anything. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Acked-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com>

	* drivers/dahdi/wct4xxp/base.c: wct4xxp: Atomically set framer bits
	  for maintenance modes. Do not allow the interrupt handler or
	  another CPU to change the value between when we get the initial
	  value and when we write the modified value. Also includes a minor
	  formatting fix where braces were not aligned, and remove 'inline'
	  from t4_framer_in and t4_framer_out definitions. Signed-off-by:
	  Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks
	  <rmeyerriecks@digium.com>

	* drivers/dahdi/wct4xxp/Kbuild: wct4xxp: Set
	  -Wno-unused-but-set-variable compiler option if available. Turn
	  this option on for the entire wct4xxp driver in order to quiet
	  the warnings in the oct612x source files. These files are from a
	  vendor drop and the goal is to limit the deviations from the
	  vendor if possible. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/tor2.c, drivers/dahdi/xpp/xpp_usb.c,
	  drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/vpm450m.c,
	  drivers/dahdi/xpp/card_pri.c, drivers/dahdi/wct4xxp/base.c,
	  drivers/dahdi/xpp/card_fxo.c, drivers/dahdi/wctc4xxp/base.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/wctdm24xxp/xhfc.c, drivers/dahdi/xpp/card_bri.c,
	  drivers/dahdi/wctdm.c, drivers/dahdi/xpp/xbus-core.c,
	  drivers/dahdi/dahdi-base.c: Remove unused variables. gcc-4.6 now
	  warns about variables that are set but never used. Clean up
	  unused variables everywhere except the oct612x subdirectory. The
	  oct612x should go in a separate patch in case that needs to be
	  pulled out into a separate project again. Signed-off-by: Shaun
	  Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen
	  <tzafrir.cohen@xorcom.com>

	* include/dahdi/kernel.h, drivers/dahdi/wctdm24xxp/base.c:
	  wctdm24xxp: Check if the FXS signaling setting is valid.
	  Signed-off-by: Shaun Ruffell <sruffell@digium.com>

2011-05-31 13:11 +0000 [r9925]  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-23 13:38 +0000 [r9916-9917]  Tzafrir Cohen <tzafrir.cohen@xorcom.com>

	* drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/card_bri.c,
	  drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/xbus-core.c,
	  drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/xpp_log.h
	  (removed): xpp: Remove obsolete XPP_DEBUGFS code XPP_DEBUGFS code
	  was some code used to send BRI D-Channel data through debugfs
	  for, well, debugging. Unused in recent years. Time to remove.

	* drivers/dahdi/xpp/xpd.h, drivers/dahdi/xpp/xpp_dahdi.c,
	  drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/xbus-core.c,
	  drivers/dahdi/xpp/Kbuild, drivers/dahdi/xpp/card_global.c,
	  drivers/dahdi/xpp/xbus-core.h, drivers/dahdi/xpp/card_global.h,
	  drivers/dahdi/xpp/xbus-pcm.c: xpp: Remove obsolete and unused
	  OLD_PROC code OLD_PROC marked old and unused code that was used
	  for writing to procfs. It has long ago been replaced with
	  different sysfs interfaces. Time to remove it.

2011-05-19 21:53 +0000 [r9914]  Shaun Ruffell <sruffell@digium.com>

	* drivers/dahdi/wcte12xp/base.c: wcte12xp: Fix regression
	  preventing VPMADT032 from loading. Commit r9781, "wcte12xp,
	  wctdm24xxp: Remove unused support for booting VPMADT032 from
	  SPI", introduced a bug that would prevent the VPMADT032 from ever
	  being able to complete its startup. This regression did not make
	  it to any releases. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-04-25 14:22 +0000 [r9911-9912]  Shaun Ruffell <sruffell@digium.com>

	* 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>

	* drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Updating copyright. The
	  wcb4xxp driver was edited this year. Signed-off-by: Shaun Ruffell
	  <sruffell@digium.com>

2011-04-15 18:42 +0000 [r9905-9907]  Kinsey Moore <kmoore@digium.com>

	* drivers/dahdi/dahdi-base.c: dahdi: Bug fix for enabling buffer
	  events Introduced in rev 9905, this bug could cause buffer events
	  to become disabled if the kernel was unable to access userland
	  data.

	* include/dahdi/user.h, include/dahdi/kernel.h,
	  drivers/dahdi/dahdi-base.c: dahdi: Add capability to generate
	  events on buffer underruns and overruns Add BUFFEVENTS and
	  individual buffer event channel flags so that DAHDI can notify
	  userspace processes when it is dropping data. This can be useful
	  when trouble shooting fax problems since DAHDI currently silently
	  discards data becasuse of scheduling latency. With this change,
	  Asterisk could log an event as opposed to just leaving it up to
	  the tone detectors to figure out there was some unexpected phase
	  shift. Acked-by: Shaun Ruffell <sruffell@digium.com> (original
	  patch by Matt Fredrickson)

2011-04-14 19:11 +0000 [r9902]  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>

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.
