dahdi-linux/drivers/dahdi
Shaun Ruffell 2010bc6433 wctc4xxp: Reload the firmware if a fatal alert was received.
The driver will now automatically reload the firmware when there are no open
channels if the firmware reports a fatal error. If the firmware reports an
error, but it was not fatal, it will leave things running and try to reload when
all channels are shut down. The driver will also halt channel processing and
reload the firmware if a channel ever failed to be created.

The thought is that if the DTE reports a non-fatal error, I cannot be certain
what the state is, and it should be reset when possible without impacting
otherwise functioning card.  If there are problems, presumably all users would
hang up and the driver will then reload the firmware.

If the error is fatal, then all processing is halted to encourage everyone to
hang up. The card is probably not working at this point anyway, so there is no
point in trying to communicate with it.

Also included in this change is a compile-time selectable debug sysfs attribute
that will allow forcing an alert condition for testing the recovery.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
2014-06-05 11:35:42 -05:00
..
datamods Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
firmware firmware: Honor DESTDIR when installing firmware. 2014-03-31 09:22:10 -05:00
hpec Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
oct612x oct612x: Make dependent on dahdi.ko 2013-11-24 10:09:33 -06:00
voicebus Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
vpmadt032_loader Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcb4xxp Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wct4xxp Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wctc4xxp wctc4xxp: Reload the firmware if a fatal alert was received. 2014-06-05 11:35:42 -05:00
wctdm24xxp Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcte12xp Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
xpp xpp: re-organize calls so worker_reset() 2014-05-27 14:04:48 +03:00
adt_lec.c wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
adt_lec.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
arith.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
biquad.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
dahdi_dummy.c dahdi_dummy: Include timer.h instead of time.h 2012-04-05 16:15:22 +00:00
dahdi_dynamic_eth.c Revert "dahdi_dynamic_eth: Move tx packet flushing to process context." 2012-12-11 10:27:56 -06:00
dahdi_dynamic_ethmf.c dahdi_dynamic_ethmf: Don't use create_proc_read_entry() 2013-05-24 00:30:33 +03:00
dahdi_dynamic_loc.c dahdi_dynamic_loc: Change and check the dyn->pvt pointer under lock. 2012-04-03 19:44:45 +00:00
dahdi_dynamic.c dahdi_dynamic: Create a span type for dynamic spans. 2013-11-24 10:09:33 -06:00
dahdi_echocan_jpah.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_kb1.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_mg2.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_oslec.c code cleanup - refactor module_printk() 2012-02-09 15:24:40 +00:00
dahdi_echocan_sec2.c code cleanup: remove unused debug_printk() 2012-02-09 15:25:03 +00:00
dahdi_echocan_sec.c code cleanup: remove unused debug_printk() 2012-02-09 15:25:03 +00:00
dahdi_transcode.c wctc4xxp: Cleanup RTP for unopened channels. 2014-05-16 12:06:58 -05:00
dahdi-base.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
dahdi-sysfs-chan.c sysfs: bugfix: shorten too long file names 2013-06-23 22:12:33 +03:00
dahdi-sysfs.c sysfs: new device attribute: registration_time 2014-01-28 20:04:22 +02:00
dahdi-sysfs.h Remove support for kernels < 2.6.18 2012-03-13 20:09:12 +00:00
dahdi-version.c dahdi: Do not rebuild dahdi-base.c when only updating the version. 2011-02-28 14:19:09 +00:00
dahdi.h Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
ecdis.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
fir.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
fxo_modes.h wctdm24xxp, wctdm: Reduce memory used by fxo_modes array. 2011-04-04 16:26:00 +00:00
Kbuild wcte43x: Add driver for TE435/TE235 digital cards. 2013-11-11 14:39:19 -06:00
Kconfig wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
makefw.c wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
pciradio.c pciradio: interruptible_sleep_on_timeout() -> msleep_interruptible() 2014-05-20 11:36:23 -05:00
pciradio.rbt wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
proslic.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
tor2-hw.h "struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE" 2011-01-03 18:26:24 +00:00
tor2.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
tormenta2.rbt wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
wcaxx-base.c wcaxx: Update firmware for A8B/A4B to 1d0019/b0019. 2014-03-17 12:02:47 -05:00
wcfxo.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wct1xxp.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wctdm.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcte11xp.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcte13xp-base.c wcte13xp: Remove redundant call to synchronize_irq(). 2014-04-01 11:46:46 -05:00
wcte43x-base.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcxb_flash.c wcaxx: New driver for A4A/A4B/A8A/A8B analog cards. 2013-11-11 14:39:19 -06:00
wcxb_flash.h wcaxx: New driver for A4A/A4B/A8A/A8B analog cards. 2013-11-11 14:39:19 -06:00
wcxb_spi.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcxb_spi.h wcaxx: New driver for A4A/A4B/A8A/A8B analog cards. 2013-11-11 14:39:19 -06:00
wcxb.c Add #include <linux/slab.h> to all files that call kzalloc|kmalloc|kfree. 2014-05-20 11:36:23 -05:00
wcxb.h wcxb: Add diagnostic message if DMA retries are increasing when DEBUG is defined. 2014-03-17 10:33:14 -05:00