Commit Graph

478 Commits

Author SHA1 Message Date
Shaun Ruffell
5514b84e06 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>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9353 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20 20:32:29 +00:00
Shaun Ruffell
078b3b7bbc dahdi: Remove '#if 1' in dahdi_transmit.
Most likely some stale debugging code that slipped in and is now gone.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9350 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20 18:54:55 +00:00
Shaun Ruffell
5409b9d50c dahdi: Updating copyright date on Makefile
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9349 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20 18:54:51 +00:00
Shaun Ruffell
195e87a4c6 wcte12xp: Remove unused 'dtmfactive', 'dtmfmask', and 'dtmfmutemask' members.
These members are no longer used in the driver and are now gone.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9348 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20 18:54:47 +00:00
Shaun Ruffell
dd98bbda37 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>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9332 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-16 18:57:39 +00:00
Shaun Ruffell
844714825a wcte12xp: Remove unused 'unchannelized' global.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9329 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 18:35:39 +00:00
Shaun Ruffell
64aab2c630 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)

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9328 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 15:40:17 +00:00
Shaun Ruffell
268b7ea24e wcte12xp, wctdm24xxp: '0x0c' -> PCI_CACHE_LINE_SIZE.
Magic number removal.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9327 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 14:02:35 +00:00
Shaun Ruffell
9357a9f953 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>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9326 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 14:02:35 +00:00
Shaun Ruffell
6823665358 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>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9325 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 14:02:34 +00:00
Shaun Ruffell
2cc62b7c05 dahdi: 0 -> DAHDI_LAW_DEFAULT
Makes it a little more clear what the '0' parameter represents.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9324 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 14:02:33 +00:00
Shaun Ruffell
d37d01c063 wcte12xp: '4' -> 'VPM150M_ACTIVE'.
Replacing magic number.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9323 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 02:42:19 +00:00
Shaun Ruffell
5dc10d2aef dahdi: Remove unused functions __buf_munge and __buf_cpush.
These functions were only defined if BUF_MUNGE was defined, but even if
that symbol is defined there is not anyplace in the driver where these
functions were then called.  This has been in the code since rev 87 so
this is most likely stale debugging code.

Feel free to revert if this is actually used somewhere that is not
apparent.

Here is where the functions were originally added to the drivers:
http://svnview.digium.com/svn/zaptel?view=revision&revision=87

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9322 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 02:20:58 +00:00
Shaun Ruffell
1d5d934052 dahdi: Remove the unused label from __buf_pull and __buf_push calls.
These label parameters were not used in the functions. They are most
likely some debug code that was left over.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9321 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 02:20:54 +00:00
Shaun Ruffell
2826e6a5cb wct4xxp: Put two DMA messages behind debug flag.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9320 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14 02:20:49 +00:00
Shaun Ruffell
ae355cc1db wctdm24xxp, wcte12xp: Fix comment. RELAXED is no longer a mode name.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9319 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-11 19:25:52 +00:00
Shaun Ruffell
75a16b031e 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.

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9318 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-11 19:25:47 +00:00
Kinsey Moore
048634fc5f dahdi-base: All channels for a span are now unconfigured on shutdown
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9317 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-10 15:54:36 +00:00
Kinsey Moore
973d576ad8 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.

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9316 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-10 15:54:35 +00:00
Russ Meyerriecks
c6eb178da3 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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9312 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-08 21:50:48 +00:00
Shaun Ruffell
b025611b9b README: Remove references to dahdi_dummy.
Since dahdi_dummy is no longer required remove the references from
README.

(issue #17959)
Reported by: glen201

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9308 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-07 16:11:50 +00:00
Shaun Ruffell
c2df83f663 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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9307 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-07 13:47:24 +00:00
Russ Meyerriecks
f2fa702132 dahdi-base: Hide "Master changed to" message
Put the "Master changed to xxx/x/x" message behind a debug flag. It's an
implementation specific detail and has caused confusion with customers.
DAHDI-692

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9299 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-03 21:08:05 +00:00
Shaun Ruffell
40ad4a85a3 dahdi: A couple of trivial spelling changes.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9248 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-01 15:46:27 +00:00
Shaun Ruffell
e88554710f 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>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9247 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-01 15:46:26 +00:00
Shaun Ruffell
892fe4b325 dahdi, dahdi_transcode: Remove mmap interface.
There are not any existing users of the interface (and it would always
return -ENOSYS to the caller anyway).

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9246 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-01 15:46:25 +00:00
Shaun Ruffell
19f25f79b4 wctdm24xxp: Minor spacing change on module parameter descriptions.
Primarily to add a space between 'use' and 'the' in the alawoverride
description.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9245 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-01 15:46:25 +00:00
Shaun Ruffell
bf3fe05dfb 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>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9205 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-27 21:59:27 +00:00