[dahdi-commits] dahdi/linux.git branch "master" updated.

SVN commits to the DAHDI project dahdi-commits at lists.digium.com
Thu May 23 06:51:58 CDT 2013


branch "master" has been updated
       via  40da50faed00df800e4c540260fca3248e54e9e4 (commit)
       via  ef71ce476c179224d8ab18127d2011ae8ffa6d68 (commit)
       via  e3e35d031dff4f9ad61f6ba1ff62ee882d61db13 (commit)
      from  2b0cca777f590a7e07e8e17dd7e18bcac969412f (commit)

Summary of changes:
 drivers/dahdi/xpp/card_fxo.c               |   30 +-
 drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex |  706 ++++++++++++++--------------
 2 files changed, 374 insertions(+), 362 deletions(-)


- Log -----------------------------------------------------------------
commit 40da50faed00df800e4c540260fca3248e54e9e4
Author: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
Date:   Thu May 23 14:43:23 2013 +0300

    xpp: FXO: fix firmware pol-rev detection
    
    PIC_TYPE_2 rev. 11078 fixes the polarity reversal detection support added
    in rev. 11039 (949aa4958fae97fe64b17aadc0577e2d5f957fbe).
    
    Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>

diff --git a/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex b/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex
index bc3e302..165853c 100644
--- a/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex
+++ b/drivers/dahdi/xpp/firmwares/PIC_TYPE_2.hex
@@ -1,7 +1,7 @@
 #        
-# $Id: PIC_TYPE_2.hex 11039 2013-03-07 11:02:16Z dima $
+# $Id: PIC_TYPE_2.hex 11078 2013-04-11 16:52:37Z dima $
 #
-:03000000A57A4896
+:03000000A5DA4836
 :03000100C41C41DB
 :030002000390392F
 :0300030067967984
@@ -42,369 +42,375 @@
 :03002600CFC9013E
 :030027001652026C
 :0300280064403001
-:03002900A3290107
+:03002900A38901A7
 :03002A00704C40D7
-:03002B00A41FFF10
-:03002C00C011659B
-:03002D001E1C0294
-:03002E00C03FFFD1
-:03002F0016115057
-:030030002016B9DE
-:03003100125D025B
-:0300320020A022E9
-:03003300643C0228
-:03003400A3AD0178
-:03003500365162DF
-:030036003652053A
-:030037002C8030EA
-:03003800D00901EB
-:03003900A33204EB
-:03003A0020503023
-:03003B0072490106
-:03003C00A3E2023A
-:03003D00A40030EC
-:03003E0002D901E3
-:03003F00A4180002
-:0300400002E214C5
-:03004100800E70BE
-:030042000223088E
-:030043002063082F
-:030044006433081A
-:03004500A4A30869
-:0300460032203F26
-:030047002C880002
-:03004800D00C00D9
-:03004900A4403997
-:03004A00CFE038CC
-:03004B00162C0769
-:03004C00C01D4094
-:03004D00604034DC
-:03004E00122C0869
-:03004F00206038F6
-:03005000643219FE
-:03005100A56E0792
-:0300520036202035
-:030053002C83609B
-:03005400D0036076
-:03005500A50360A0
-:03005600800360C4
-:03005700C07C105A
-:03005800166038F7
-:03005900743219E5
-:03005A00A5FE07F9
-:03005B00C01120B1
-:03005C001CCC2099
-:03005D00E07180CF
-:03005E0002CE705F
-:03005F0020074334
-:03006000022A7001
-:03006100206C020E
-:0300620064318086
-:03006300A68E075F
-:03006400322643FE
-:030065002C8A736F
-:03006600D00C03B8
-:03006700A621804F
-:03006800C01E07B0
-:0300690014264317
-:03006A00743A7372
-:03006B00AC5C0486
-:03006C0020618090
-:03006D0090AE074B
-:03006E00205643D6
-:03006F00D20A733F
-:03007000D40C01AC
-:0300710003D03881
-:03007200C04A720F
-:03007300022C1844
-:03007400C0003891
-:030075000242192B
-:0300760021DE0F79
-:0300770003002261
-:03007800901C00D9
-:030079002020380C
-:03007A000302007E
-:03007B00901E07CD
-:03007C00204F0210
+:03002B00A47FFFB0
+:03002C00C40165A7
+:03002D00150C02AD
+:03002E00743FFF1D
+:03002F00A32150BA
+:03003000C026B92E
+:03003100A33D02EA
+:03003200C01022D9
+:03003300121C029A
+:03003400C03D01CB
+:030035001611623F
+:0300360020120590
+:0300370012503034
+:0300380020A901FB
+:030039006432042A
+:03003A00A40030EF
+:03003B0036590132
+:03003C0036520237
+:03003D002C8030E4
+:03003E00D00901E5
+:03003F00A3980083
+:0300400020521437
+:03004100724E708C
+:03004200A44308CC
+:03004300A46308AB
+:0300440002D308DC
+:03004500A4730899
+:0300460002E03F96
+:030047008008002E
+:03004800022C0087
+:03004900206039FB
+:03004A00643038E7
+:03004B00A50C07FA
+:03004C00322D4012
+:03004D002C8034D0
+:03004E00D00C08CB
+:03004F00A4A03832
+:03005000CFE219E3
+:03005100162E0761
+:03005200C01020BB
+:03005300604360A7
+:0300540012236014
+:03005500206360C5
+:03005600643360B0
+:03005700A5CC1025
+:0300580036203817
+:030059002C8219DD
+:03005A00D00E07BE
+:03005B00A561207C
+:03005C00800C20F5
+:03005D00C07180EF
+:03005E00166E70AB
+:03005F00743743B0
+:03006000A65A702D
+:03006100C01C02BE
+:030062001CC1803E
+:03006300E07E0735
+:0300640002C6438E
+:03006500200A73FB
+:03006600022C0366
+:0300670020618095
+:03006800643E07EC
+:03006900A6E643C5
+:03006A00322A73C4
+:03006B002C8C04D6
+:03006C00D0018040
+:03006D00A68E0755
+:03006E00C0164376
+:03006F00142A73DD
+:03007000743C01DC
+:03007100ACB038F8
+:03007200206A728F
+:0300730090AC1836
+:03007400205038E1
+:03007500D202199B
+:03007600D40E0F96
+:0300770003D02291
+:03007800C04C0079
+:030079000220382A
+:03007A00C00200C1
+:03007B00024E072B
+:03007C0021DF027F
 :03007D0003074333
 :03007E00901A8352
-:03007F00210C0051
-:03008000E010315C
-:03008100643C12CA
-:03008200AC5A90E5
-:0300830021020057
-:03008400024E0722
-:03008500E80F037E
-:0300860074374389
-:03008700AB2A8C15
-:03008800C50C00A4
-:03008900039031B0
-:03008A00799C1846
-:03008B00A8AA9090
-:03008C0020BC0095
-:03008D00D000316F
-:03008E00038C16CA
-:03008F00219A9023
-:03009000E0703BE2
-:03009100348E0F9B
-:0300920034808235
-:03009300348703AC
-:03009400348A9A11
-:03009500030C0F4A
-:03009600206FFFD9
+:03007F00202C0032
+:0300800003003149
+:03008100901C12BE
+:03008200204A9081
+:0300830003020075
+:03008400901E07C4
+:03008500210F0345
+:03008600E017433D
+:03008700643A8C4C
+:03008800ACBC000D
+:0300890021003122
+:03008A00024C180D
+:03008B00E80A90F0
+:03008C00743C00C1
+:03008D00AB803114
+:03008E00C50C1688
+:03008F00039A9041
+:0300900079903B29
+:03009100A90E0FA6
+:0300920020B08219
+:03009300D0070390
+:03009400038A9A42
+:03009500219C0F9C
+:03009600E07FFF09
 :0300970034815B56
 :03009800348102AE
 :03009900348A9B0B
 :03009A0034821B92
-:03009B00D0503012
-:03009C00031E0F31
-:03009D00C0003B65
-:03009E00032C022E
-:03009F00033039F2
-:0300A000C70C008A
-:0300A10003903990
-:0300A200C50C800A
-:0300A300039D08B2
-:0300A400C0403920
-:0300A500030C0049
-:0300A600C000395E
-:0300A700031C40F7
-:0300A800204039BC
-:0300A9000327D951
-:0300AA00C00AA9E0
-:0300AB00033C0013
-:0300AC00C7002664
-:0300AD0003902796
-:0300AE00C5002B5F
-:0300AF000390209B
-:0300B000C40C037A
-:0300B10003902C8D
-:0300B200C40C205B
-:0300B300FFFD80CE
-:0300B400165025BE
-:0300B500D20C204A
-:0300B60003D02450
-:0300B700C04C003A
-:0300B80002202201
-:0300B900C002057D
-:0300BA00150030FE
-:0300BB00024901F6
-:0300BC0021D2044A
-:0300BD000300300D
-:0300BE0090190195
-:0300BF00202202FA
-:0300C0000300300A
-:0300C10090190192
-:0300C200204C408F
+:03009B000300302F
+:03009C00206E0FC4
+:03009D0034803B71
+:03009E00348C029D
+:03009F0034803971
+:0300A000348C009D
+:0300A100D0503903
+:0300A200031C80BC
+:0300A300C00D0885
+:0300A400032039FD
+:0300A500033C0019
+:0300A600C7003957
+:0300A700039C4077
+:0300A800C5003957
+:0300A9000397D9E1
+:0300AA00C04AA9A0
+:0300AB00030C0043
+:0300AC00C000266B
+:0300AD0003102716
+:0300AE0020402BC4
+:0300AF000320200B
+:0300B000C00C037E
+:0300B10003302CED
+:0300B200C70C2058
+:0300B300039D802A
+:0300B400C500255F
+:0300B500039C2089
+:0300B600C400245F
+:0300B700039C00A7
+:0300B800C400225F
+:0300B900FFF2054E
+:0300BA00165030AD
+:0300BB00D2090166
+:0300BC0003D20468
+:0300BD00C0403010
+:0300BE0002290113
+:0300BF00C002027A
+:0300C000150030F8
+:0300C100024901F0
+:0300C20021DC40FE
 :0300C300030039FE
 :0300C400901C018C
-:0300C50020603781
-:0300C60090AC609B
-:0300C7002052C8FC
-:0300C800D20AC792
-:0300C900D40C0054
-:0300CA0003D03729
-:0300CB00C1C6D9D2
-:0300CC00022AD035
-:0300CD00C006F971
-:0300CE00024B4D95
-:0300CF0021DACB68
-:0300D000030940E1
-:0300D100901C2060
-:0300D20020219555
-:0300D300030643DE
-:0300D400901ADFA0
-:0300D500204C01BB
+:0300C500202037C1
+:0300C600030C60C8
+:0300C7009012C8CC
+:0300C800204AC704
+:0300C900030C0025
+:0300CA009010375C
+:0300CB002066D9D3
+:0300CC0090AAD027
+:0300CD002056F9C1
+:0300CE00D20B4D05
+:0300CF00D40ACB85
+:0300D00003D94011
+:0300D100C1CC207F
+:0300D20002219573
+:0300D300C0064321
+:0300D400024ADFFE
+:0300D50021DC012A
 :0300D6000301DF44
 :0300D70090109BEB
-:0300D800210703FA
-:0300D900024ADFF9
-:0300DA00C037D359
-:0300DB00084B4887
-:0300DC00603CFF86
-:0300DD00AE002250
-:0300DE00209B2A3A
-:0300DF00AE221F2F
-:0300E000C0090A4A
-:0300E100AE2C2022
-:0300E2001871256D
-:0300E3001496D39D
-:0300E400643AEA91
-:0300E500B11C202B
-:0300E6001A7095F8
-:0300E700C5064308
-:0300E800039AF286
-:0300E900799AEF12
-:0300EA00AE9C4089
-:0300EB0020B1251C
-:0300EC00D00C0035
-:0300ED0003802469
-:0300EE00219B1A39
-:0300EF00E07217A5
-:0300F00034802435
-:0300F100348B1A33
-:0300F200348C400B
-:0300F30034810550
-:0300F40003003DC9
-:0300F500206C007C
+:0300D800202703DB
+:0300D900030ADF38
+:0300DA009017D3A9
+:0300DB00204B486F
+:0300DC00030CFF13
+:0300DD009010225E
+:0300DE00210B2AC9
+:0300DF0002421FBB
+:0300E000C0390A1A
+:0300E100084C20A8
+:0300E20060312565
+:0300E300AE66D333
+:0300E400209AEA75
+:0300E500AE8C20BE
+:0300E600C00095C2
+:0300E700AE86439F
+:0300E800187AF291
+:0300E900149AEF77
+:0300EA00643C4033
+:0300EB00B17125CB
+:0300EC001A7C007B
+:0300ED00C5002427
+:0300EE00039B1A57
+:0300EF00799217EC
+:0300F000AEF0244B
+:0300F10020BB1A17
+:0300F200D00C40EF
+:0300F30003810581
+:0300F40021903D1B
+:0300F500E07C00AC
 :0300F6003480242F
 :0300F70034821D33
 :0300F80034803021
 :0300F90034890146
-:0300FA00D05215CC
-:0300FB00031030BF
-:0300FC00C0090137
-:0300FD00032204D7
-:0300FE000330309C
-:0300FF00C709012D
-:0301000003921057
-:03010100C5002412
-:030102000397F769
-:03010300C1CB0B62
-:03010400030C02E7
-:03010500C00FFF29
-:030106000311647E
-:03010700204C0287
-:0301080003215779
-:03010900C001240E
-:03010A00033B179D
-:03010B00C707D74C
-:03010C00039B173B
-:03010D00C50C011D
-:03010E00039FFF4D
-:03010F00C40164C4
-:03011000039C014C
-:0301110020C157B3
-:0301120074312421
-:03011300B7DB1740
-:03011400C002170F
-:0301150002402481
-:03011600C05B17B4
-:03011700022C02B5
-:03011800205D0166
-:03011900D20164AC
-:03011A00D40C8082
-:03011B0003D6F315
-:03011C0021D125C9
-:03011D00030205D5
-:03011E009010300E
-:03011F0020290193
-:03012000030215C2
-:030121009010300B
-:0301220020490170
+:0300FA00030215E9
+:0300FB0020603052
+:0300FC0034890143
+:0300FD0034820446
+:0300FE003480301B
+:0300FF0034890140
+:03010000D05210CA
+:03010100031024C4
+:03010200C007F73C
+:03010300032B0BC0
+:03010400033C02B7
+:03010500C70FFF22
+:03010600039164FE
+:03010700C50C0222
+:0301080003915709
+:03010900C1C1244D
+:03010A00030B17CD
+:03010B00C007D753
+:03010C00031B17BB
+:03010D00204C0182
+:03010E00032FFFBD
+:03010F00C00164C8
+:03011000033C01AC
+:03011100C70157CC
+:0301120003912432
+:03011300C50B1702
+:030114000392173C
+:03011500C40024FF
+:03011600039B1731
+:0301170020CC02F7
+:03011800743D0132
+:03011900B8316496
+:03011A00C00C8096
+:03011B000246F3A6
+:03011C00C05125AA
+:03011D00022205B6
+:03011E002050303E
+:03011F00D2090101
+:03012000D40215F1
+:0301210003D030D8
+:0301220021D901DF
 :03012300030204D0
 :0301240090103008
-:03012500C01901FD
-:030126001507D3E7
-:03012700024B4840
-:0301280021A21001
-:03012900942022FD
-:03012A00202C5036
-:03012B0003A039F5
-:03012C00206799B0
-:03012D00743B2CF4
-:03012E00B3B21257
-:03012F00C9F030E4
-:0301300016B214F0
-:03013100C00031DA
-:030132006B02134A
-:03013300D20032C5
-:030134006D0C004F
-:03013500D40033C0
-:0301360012BC7088
-:03013700C80039C4
-:030138001ABC509E
-:0301390020B039BA
-:03013A0003821528
-:03013B0020603011
-:03013C0002AC0012
-:03013D00C040318E
-:03013E0008620252
-:03013F00703032EB
-:03014000B44C00BC
-:03014100C00033C8
-:03014200024C70FC
-:03014300B480394C
-:03014400C04C505C
-:030145000AA039D4
-:03014600C02C408A
-:030147000240393A
-:03014800917C00A7
-:03014900C01039AA
-:03014A0003EC00C3
-:03014B00206C0025
-:03014C00643AC250
-:03014D00B51C00DE
-:03014E0037E02572
-:03014F002C8C10E5
-:03015000B4E03DDB
-:03015100C60917C5
-:03015200150C0485
-:03015300743025E0
-:03015400B65C0096
-:0301550021E03D69
-:030156001AF9177C
-:0301570014FC0293
-:03015800743025DB
-:03015900B7DC0808
-:03015A00C0403D65
-:03015B001249172F
-:03015C00917C0093
-:03015D00C00026B9
-:03015E00024C014F
-:03015F0020002954
-:03016000942C20BC
-:0301610020202338
-:03016200020A008E
-:03016300035B63D8
-:03016400B7D00011
-:03016500CFF000D8
-:0301660019E0009D
-:0301670016F0008F
-:03016800C03000A4
-:030169000810007B
-:03016A00743000EE
-:03016B00B740009A
-:03016C00C01000C0
-:03016D000240004D
-:03016E002000006E
-:03016F00942000D9
-:030170002020004C
-:0301710002000089
-:0301720003500037
-:03017300B7D00002
-:03017400C00000C8
-:030175001810005F
-:03017600643000F2
-:030177006B00001A
-:03017800B7A0002D
-:03017900B7D000FC
-:03017A00C01000B2
-:03017B001240002F
-:03017C009170007F
-:03017D00369000B9
-:03017E00C01000AE
-:03017F001E6000FF
-:0301800021B000AB
-:0301810008600013
-:03018200743000D6
-:03018300A5700064
-:0301840002600016
-:03018500C0200097
-:03018600FFF00087
-:0301870016B000AF
-:03018800C0200094
-:0301890023A000B0
-:03018A00743000CE
-:03018B0012B000AF
-:03018C0020B000A0
-:03018D00038000EC
-:03018E00C440006A
-:03018F00039000DA
-:03019000C40000A8
-:03019100039000D8
-:03019200C00000AA
-:0301930002300037
-:03019400AC20009C
-:03019500B950005E
+:030125002029018D
+:030126000307D3F9
+:03012700901B48E2
+:0301280020421062
+:03012900030022AE
+:03012A00901C50D6
+:03012B00C01039C8
+:03012C001507991B
+:03012D00024B2C56
+:03012E0021A212F9
+:03012F0094803089
+:0301300020221476
+:0301310003A031F7
+:0301320020621335
+:03013300743032F3
+:03013400B41C00F8
+:03013500C9F033DB
+:0301360016BC7084
+:03013700C00039CC
+:030138006B0C50FD
+:03013900D20039B8
+:03013A006D02153E
+:03013B00D40030BD
+:03013C0012BC00F2
+:03013D00C80031C6
+:03013E001AB202F0
+:03013F0020B032BB
+:03014000038C002D
+:0301410020603308
+:0301420002AC709C
+:03014300C0403980
+:03014400086C50F4
+:03014500703039DE
+:03014600B4AC4016
+:03014700C00039BC
+:03014800024C0066
+:03014900B4E039E6
+:03014A00C04C00A6
+:03014B000AAC00FB
+:03014C00C02AC204
+:03014D00024C0061
+:03014E0091702588
+:03014F00C01C10C1
+:0301500003E03D8C
+:030151002069170B
+:03015200643C0406
+:03015300B570255F
+:0301540037EC0085
+:030155002C803DBE
+:03015600B5491791
+:03015700C60C02D1
+:030158001500256A
+:03015900743C08EB
+:03015A00B6B03DFF
+:03015B0021E91780
+:03015C001AFC008A
+:03015D0014F02675
+:03015E00743C01ED
+:03015F00B830298C
+:03016000C04C2070
+:0301610012402326
+:03016200917A008F
+:03016300C00B636B
+:0301640002400056
+:0301650020000077
+:0301660094800082
+:0301670020200055
+:0301680002000092
+:0301690003500040
+:03016A00B83000AA
+:03016B00CFF000D2
+:03016C0019E00097
+:03016D0016F00089
+:03016E00C030009E
+:03016F0008100075
+:03017000743000E8
+:03017100B7A00034
+:03017200C01000BA
+:0301730002400047
+:0301740020000068
+:0301750094800073
+:0301760020200046
+:0301770002000083
+:0301780003500031
+:03017900B830009B
+:03017A00C00000C2
+:03017B0018100059
+:03017C00643000EC
+:03017D006B000014
+:03017E00B80000C6
+:03017F00B8300095
+:03018000C01000AC
+:0301810012400029
+:0301820091700079
+:03018300369000B3
+:03018400C01000A8
+:030185001E6000F9
+:0301860021B000A5
+:030187000860000D
+:03018800743000D0
+:03018900A5D000FE
+:03018A0002600010
+:03018B00C0200091
+:03018C00FFF00081
+:03018D0016B000A9
+:03018E00C020008E
+:03018F0023A000AA
+:03019000743000C8
+:0301910012B000A9
+:0301920020B0009A
+:03019300038000E6
+:03019400C4400064
+:03019500039000D4
+:03019600C40000A2
+:03019700039000D2
+:03019800C00000A4
+:0301990002300031
+:03019A00AC200096
+:03019B00B9B000F8
 :00000001FF

commit ef71ce476c179224d8ab18127d2011ae8ffa6d68
Author: Oron Peled <oron.peled at xorcom.com>
Date:   Thu Apr 11 20:04:07 2013 +0300

    xpp: FXO: add a "squelch_polrev" parameter
    
    * This will prevent *ANY* polarity reversal reporting to DAHDI.
    * False by default.
    * Used in some rare sites with really bad line quality.
    
    Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>

diff --git a/drivers/dahdi/xpp/card_fxo.c b/drivers/dahdi/xpp/card_fxo.c
index bb9cccd..49c8886 100644
--- a/drivers/dahdi/xpp/card_fxo.c
+++ b/drivers/dahdi/xpp/card_fxo.c
@@ -38,6 +38,8 @@ static DEF_PARM(uint, poll_battery_interval, 500, 0644,
 		"Poll battery interval in milliseconds (0 - disable)");
 static DEF_PARM_BOOL(use_polrev_firmware, 1, 0444,
 		"Use firmware reports of polarity reversal");
+static DEF_PARM_BOOL(squelch_polrev, 0, 0644,
+		"Never report polarity reversal");
 #ifdef	WITH_METERING
 static DEF_PARM(uint, poll_metering_interval, 500, 0644,
 		"Poll metering interval in milliseconds (0 - disable)");
@@ -1005,8 +1007,12 @@ static void report_polarity_reversal(xpd_t *xpd, xportno_t portno, char *msg)
 		oht_pcm(xpd, portno, 1);
 	if (SPAN_REGISTERED(xpd)) {
 		LINE_DBG(SIGNAL, xpd, portno,
-			"Send DAHDI_EVENT_POLARITY (%s)\n", msg);
-		dahdi_qevent_lock(XPD_CHAN(xpd, portno), DAHDI_EVENT_POLARITY);
+			"%s DAHDI_EVENT_POLARITY (%s)\n",
+			(squelch_polrev) ? "Squelch" : "Send",
+			msg);
+		if (!squelch_polrev)
+			dahdi_qevent_lock(XPD_CHAN(xpd, portno),
+				DAHDI_EVENT_POLARITY);
 	}
 }
 

commit e3e35d031dff4f9ad61f6ba1ff62ee882d61db13
Author: Oron Peled <oron.peled at xorcom.com>
Date:   Thu Apr 11 20:03:22 2013 +0300

    xpp: FXO: common function for POLREV reporting
    
    Refactor the XPP FXO POLREV reporting into a common function.
    
    Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>

diff --git a/drivers/dahdi/xpp/card_fxo.c b/drivers/dahdi/xpp/card_fxo.c
index 2f2cd40..bb9cccd 100644
--- a/drivers/dahdi/xpp/card_fxo.c
+++ b/drivers/dahdi/xpp/card_fxo.c
@@ -111,7 +111,7 @@ static int proc_xpd_metering_read(char *page, char **start, off_t off,
 #endif
 #endif
 static void dahdi_report_battery(xpd_t *xpd, lineno_t chan);
-static void report_polarity_reversal(xpd_t *xpd, xportno_t portno);
+static void report_polarity_reversal(xpd_t *xpd, xportno_t portno, char *msg);
 
 #define	PROC_REGISTER_FNAME	"slics"
 #define	PROC_FXO_INFO_FNAME	"fxo_info"
@@ -712,7 +712,7 @@ static void handle_fxo_ring(xpd_t *xpd)
 
 	priv = xpd->priv;
 	for_each_line(xpd, i) {
-		if (use_polrev_firmware) {
+		if (likely(use_polrev_firmware)) {
 			int *t = &priv->polarity_last_interval[i];
 			if (*t != POLARITY_LAST_INTERVAL_NONE) {
 				(*t)++;
@@ -720,9 +720,8 @@ static void handle_fxo_ring(xpd_t *xpd)
 					LINE_DBG(SIGNAL, xpd, i,
 						"polrev(GOOD): %d msec\n", *t);
 					*t = POLARITY_LAST_INTERVAL_NONE;
-					if (use_polrev_firmware)
-						report_polarity_reversal(xpd,
-								i);
+					report_polarity_reversal(xpd,
+								i, "firmware");
 				}
 			}
 		}
@@ -841,9 +840,9 @@ static void check_etsi_dtmf(xpd_t *xpd)
 					priv->cidtimer[portno] = timer_count;
 					BIT_SET(priv->cidfound, portno);
 					LINE_DBG(SIGNAL, xpd, portno,
-						 "Found DTMF CLIP (%d)\n", i);
-					dahdi_qevent_lock(chan,
-							  DAHDI_EVENT_POLARITY);
+						"Found DTMF CLIP (%d)\n", i);
+					report_polarity_reversal(xpd, portno,
+							"fake");
 					break;
 				}
 			}
@@ -993,7 +992,7 @@ HANDLER_DEF(FXO, SIG_CHANGED)
 	return 0;
 }
 
-static void report_polarity_reversal(xpd_t *xpd, xportno_t portno)
+static void report_polarity_reversal(xpd_t *xpd, xportno_t portno, char *msg)
 {
 	/*
 	 * Inform dahdi/Asterisk:
@@ -1005,7 +1004,8 @@ static void report_polarity_reversal(xpd_t *xpd, xportno_t portno)
 		/* will be cleared on ring/offhook */
 		oht_pcm(xpd, portno, 1);
 	if (SPAN_REGISTERED(xpd)) {
-		LINE_DBG(SIGNAL, xpd, portno, "Send DAHDI_EVENT_POLARITY\n");
+		LINE_DBG(SIGNAL, xpd, portno,
+			"Send DAHDI_EVENT_POLARITY (%s)\n", msg);
 		dahdi_qevent_lock(XPD_CHAN(xpd, portno), DAHDI_EVENT_POLARITY);
 	}
 }
@@ -1108,7 +1108,7 @@ static void update_battery_voltage(xpd_t *xpd, __u8 data_low,
 			LINE_DBG(SIGNAL, xpd, portno,
 				 "Polarity changed to %s\n", polname);
 			if (!use_polrev_firmware)
-				report_polarity_reversal(xpd, portno);
+				report_polarity_reversal(xpd, portno, polname);
 		}
 		priv->polarity[portno] = pol;
 	}

-----------------------------------------------------------------------


-- 
dahdi/linux.git



More information about the dahdi-commits mailing list