[asterisk-bugs] [DAHDI-linux 0013483]: [patch] Add TDMoE Multi-Frame support

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Oct 22 07:31:13 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13483 
====================================================================== 
Reported By:                JBenden
Assigned To:                
====================================================================== 
Project:                    DAHDI-linux
Issue ID:                   13483
Category:                   dahdi_dynamic
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     confirmed
====================================================================== 
Date Submitted:             2008-09-15 04:17 CDT
Last Modified:              2008-10-22 07:31 CDT
====================================================================== 
Summary:                    [patch] Add TDMoE Multi-Frame support
Description: 
A patch against SVN rev 4904, to add TDMoE Multi-Frame support as described
in the article at the following URL:

http://www.thrallingpenguin.com/articles/tdmoe-mf.htm

TDMoE-MF is known to be implemented in hardware solutions from Redfone
Communications.

This patch additionally implements RCU within dahdi_dynamic to decrease
lock contention, latency, and context switching. Because of the use of RCU
locking, all prior known issues with loading and unloading of the modules
are resolved, providing the spans are shutdown with "dahdi_cfg -s".

It also contains an attempt, which works, at fixing a kernel change with
skb_linearize(). The use of kernel version number does not work with SuSE
SLES 10, as it appears they have backported the 2.6.18 change in to their
2.6.16 version.
====================================================================== 

---------------------------------------------------------------------- 
 (0094126) tzafrir (manager) - 2008-10-22 07:31
 http://bugs.digium.com/view.php?id=13483#c94126 
---------------------------------------------------------------------- 
When I build it on my amd64 system, I get the following warnings:

drivers/dahdi/dahdi_dynamic_ethmf.c: In function ‘ztdethmf_transmit’:
drivers/dahdi/dahdi_dynamic_ethmf.c:490: warning: integer overflow in
expression
drivers/dahdi/dahdi_dynamic_ethmf.c:490: warning: integer overflow in
expression

Line 490 is:

  zh->subaddr = htons((0x8000 | (spans_ready & 0xFF)));

In addition, when building with sparse (make C=1 / make C=2), I get the
following:

drivers/dahdi/dahdi_dynamic_ethmf.c:533:2: warning: obsolete struct
initializer, use C99 syntax
drivers/dahdi/dahdi_dynamic_ethmf.c:534:2: warning: obsolete struct
initializer, use C99 syntax
drivers/dahdi/dahdi_dynamic_ethmf.c:535:2: warning: obsolete struct
initializer, use C99 syntax
drivers/dahdi/dahdi_dynamic_ethmf.c:662:2: warning: obsolete struct
initializer, use C99 syntax
drivers/dahdi/dahdi_dynamic_ethmf.c:417:11: error: bad constant
expression
drivers/dahdi/dahdi_dynamic_ethmf.c:417:29: error: bad constant
expression

obsolete initializer: 

Use:
struct something foo {
  .bar = 1,
  /* baz is explicitly initialized to a 0 value) */
}

Instead of:

struct something foo {
  bar: 1,
  baz: 0,
}

(Note: this is common in the whole dahdi tree)

bad constant exporession is the array size spans_ready in line 417:

        if ((spans_ready = ethmf_trx_spans_ready(z->addr_hash,
&ready_spans))) {
                int pad[spans_ready], rbs[spans_ready]; 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-10-22 07:31 tzafrir        Note Added: 0094126                          
======================================================================




More information about the asterisk-bugs mailing list