diff options
author | Andreas Eversberg <andreas@eversberg.eu> | 2009-05-22 07:04:51 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-25 03:55:29 -0400 |
commit | d796509a57777bc0f8f336e360695fad665c59f5 (patch) | |
tree | 3408cc5d7ff44a72c4269a65da5b6192ae1daa82 /drivers/isdn | |
parent | 3dc403939c73ac372f2c95b5099dfdf396fe4ecc (diff) |
mISDN: Add "sapi" information to debug messages
Using sapi values other than 0 work now.
The "OpenBSC" project does not require special kernel patch anymore.
Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/mISDN/layer2.c | 24 | ||||
-rw-r--r-- | drivers/isdn/mISDN/tei.c | 11 |
2 files changed, 20 insertions, 15 deletions
diff --git a/drivers/isdn/mISDN/layer2.c b/drivers/isdn/mISDN/layer2.c index 2d2f58195477..9c2589e986d6 100644 --- a/drivers/isdn/mISDN/layer2.c +++ b/drivers/isdn/mISDN/layer2.c | |||
@@ -99,7 +99,7 @@ l2m_debug(struct FsmInst *fi, char *fmt, ...) | |||
99 | if (!(*debug & DEBUG_L2_FSM)) | 99 | if (!(*debug & DEBUG_L2_FSM)) |
100 | return; | 100 | return; |
101 | va_start(va, fmt); | 101 | va_start(va, fmt); |
102 | printk(KERN_DEBUG "l2 (tei %d): ", l2->tei); | 102 | printk(KERN_DEBUG "l2 (sapi %d tei %d): ", l2->sapi, l2->tei); |
103 | vprintk(fmt, va); | 103 | vprintk(fmt, va); |
104 | printk("\n"); | 104 | printk("\n"); |
105 | va_end(va); | 105 | va_end(va); |
@@ -1859,20 +1859,18 @@ ph_data_indication(struct layer2 *l2, struct mISDNhead *hh, struct sk_buff *skb) | |||
1859 | psapi >>= 2; | 1859 | psapi >>= 2; |
1860 | ptei >>= 1; | 1860 | ptei >>= 1; |
1861 | if (psapi != l2->sapi) { | 1861 | if (psapi != l2->sapi) { |
1862 | /* not our bussiness | 1862 | /* not our bussiness */ |
1863 | * printk(KERN_DEBUG "%s: sapi %d/%d sapi mismatch\n", | 1863 | if (*debug & DEBUG_L2) |
1864 | * __func__, | 1864 | printk(KERN_DEBUG "%s: sapi %d/%d mismatch\n", |
1865 | * psapi, l2->sapi); | 1865 | __func__, psapi, l2->sapi); |
1866 | */ | ||
1867 | dev_kfree_skb(skb); | 1866 | dev_kfree_skb(skb); |
1868 | return 0; | 1867 | return 0; |
1869 | } | 1868 | } |
1870 | if ((ptei != l2->tei) && (ptei != GROUP_TEI)) { | 1869 | if ((ptei != l2->tei) && (ptei != GROUP_TEI)) { |
1871 | /* not our bussiness | 1870 | /* not our bussiness */ |
1872 | * printk(KERN_DEBUG "%s: tei %d/%d sapi %d mismatch\n", | 1871 | if (*debug & DEBUG_L2) |
1873 | * __func__, | 1872 | printk(KERN_DEBUG "%s: tei %d/%d mismatch\n", |
1874 | * ptei, l2->tei, psapi); | 1873 | __func__, ptei, l2->tei); |
1875 | */ | ||
1876 | dev_kfree_skb(skb); | 1874 | dev_kfree_skb(skb); |
1877 | return 0; | 1875 | return 0; |
1878 | } | 1876 | } |
@@ -1927,8 +1925,8 @@ l2_send(struct mISDNchannel *ch, struct sk_buff *skb) | |||
1927 | int ret = -EINVAL; | 1925 | int ret = -EINVAL; |
1928 | 1926 | ||
1929 | if (*debug & DEBUG_L2_RECV) | 1927 | if (*debug & DEBUG_L2_RECV) |
1930 | printk(KERN_DEBUG "%s: prim(%x) id(%x) tei(%d)\n", | 1928 | printk(KERN_DEBUG "%s: prim(%x) id(%x) sapi(%d) tei(%d)\n", |
1931 | __func__, hh->prim, hh->id, l2->tei); | 1929 | __func__, hh->prim, hh->id, l2->sapi, l2->tei); |
1932 | switch (hh->prim) { | 1930 | switch (hh->prim) { |
1933 | case PH_DATA_IND: | 1931 | case PH_DATA_IND: |
1934 | ret = ph_data_indication(l2, hh, skb); | 1932 | ret = ph_data_indication(l2, hh, skb); |
diff --git a/drivers/isdn/mISDN/tei.c b/drivers/isdn/mISDN/tei.c index 55a7c3dac3c2..778b660f0672 100644 --- a/drivers/isdn/mISDN/tei.c +++ b/drivers/isdn/mISDN/tei.c | |||
@@ -227,7 +227,7 @@ tei_debug(struct FsmInst *fi, char *fmt, ...) | |||
227 | if (!(*debug & DEBUG_L2_TEIFSM)) | 227 | if (!(*debug & DEBUG_L2_TEIFSM)) |
228 | return; | 228 | return; |
229 | va_start(va, fmt); | 229 | va_start(va, fmt); |
230 | printk(KERN_DEBUG "tei(%d): ", tm->l2->tei); | 230 | printk(KERN_DEBUG "sapi(%d) tei(%d): ", tm->l2->sapi, tm->l2->tei); |
231 | vprintk(fmt, va); | 231 | vprintk(fmt, va); |
232 | printk("\n"); | 232 | printk("\n"); |
233 | va_end(va); | 233 | va_end(va); |
@@ -1191,9 +1191,16 @@ check_data(struct manager *mgr, struct sk_buff *skb) | |||
1191 | if ((skb->data[2] & ~0x10) != SABME) | 1191 | if ((skb->data[2] & ~0x10) != SABME) |
1192 | return -ENOTCONN; | 1192 | return -ENOTCONN; |
1193 | /* We got a SABME for a fixed TEI */ | 1193 | /* We got a SABME for a fixed TEI */ |
1194 | if (*debug & DEBUG_L2_CTRL) | ||
1195 | printk(KERN_DEBUG "%s: SABME sapi(%d) tei(%d)\n", | ||
1196 | __func__, sapi, tei); | ||
1194 | l2 = create_new_tei(mgr, tei, sapi); | 1197 | l2 = create_new_tei(mgr, tei, sapi); |
1195 | if (!l2) | 1198 | if (!l2) { |
1199 | if (*debug & DEBUG_L2_CTRL) | ||
1200 | printk(KERN_DEBUG "%s: failed to create new tei\n", | ||
1201 | __func__); | ||
1196 | return -ENOMEM; | 1202 | return -ENOMEM; |
1203 | } | ||
1197 | ret = l2->ch.send(&l2->ch, skb); | 1204 | ret = l2->ch.send(&l2->ch, skb); |
1198 | return ret; | 1205 | return ret; |
1199 | } | 1206 | } |