diff options
author | Doug Bailey <dbailey@digium.com> | 2009-09-14 20:51:56 +0000 |
---|---|---|
committer | Doug Bailey <dbailey@digium.com> | 2009-09-14 20:51:56 +0000 |
commit | 7dfaf321537d6797637d4ce2a0edd9c6e7bf6347 (patch) | |
tree | ff17dd487e68f8a23dad1be333b997100c0cb3a8 /drivers/dahdi/proslic.h | |
parent | d766adf4e70c9bb12fa3964ad8775c9f68737f9c (diff) |
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
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7117 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/proslic.h')
-rw-r--r-- | drivers/dahdi/proslic.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dahdi/proslic.h b/drivers/dahdi/proslic.h index bf9c400..556643e 100644 --- a/drivers/dahdi/proslic.h +++ b/drivers/dahdi/proslic.h @@ -45,6 +45,9 @@ typedef struct { #define SLIC_LF_OHTRAN_REV 0x6 /* Reverse On Hook Transfer */ #define SLIC_LF_RING_OPEN 0x7 +#define SLIC_LF_SETMASK 0x7 +#define SLIC_LF_OPPENDING 0x10 + /* Mask used to reverse the linefeed mode between forward and * reverse polarity. */ #define SLIC_LF_REVMASK 0x4 |