vaf.fmt = fmt;
        vaf.va = &va;
 
-       printk(KERN_DEBUG "l2 (sapi %d tei %d): %pV\n",
-              l2->sapi, l2->tei, &vaf);
+       printk(KERN_DEBUG "%s l2 (sapi %d tei %d): %pV\n",
+              mISDNDevName4ch(&l2->ch), l2->sapi, l2->tei, &vaf);
 
        va_end(va);
 }
        mISDN_HEAD_ID(skb) = (l2->ch.nr << 16) | l2->ch.addr;
        err = l2->up->send(l2->up, skb);
        if (err) {
-               printk(KERN_WARNING "%s: err=%d\n", __func__, err);
+               printk(KERN_WARNING "%s: dev %s err=%d\n", __func__,
+                      mISDNDevName4ch(&l2->ch), err);
                dev_kfree_skb(skb);
        }
 }
                memcpy(skb_put(skb, len), arg, len);
        err = l2->up->send(l2->up, skb);
        if (err) {
-               printk(KERN_WARNING "%s: err=%d\n", __func__, err);
+               printk(KERN_WARNING "%s: dev %s err=%d\n", __func__,
+                      mISDNDevName4ch(&l2->ch), err);
                dev_kfree_skb(skb);
        }
 }
 
        ret = l2->ch.recv(l2->ch.peer, skb);
        if (ret && (*debug & DEBUG_L2_RECV))
-               printk(KERN_DEBUG "l2down_skb: ret(%d)\n", ret);
+               printk(KERN_DEBUG "l2down_skb: dev %s ret(%d)\n",
+                      mISDNDevName4ch(&l2->ch), ret);
        return ret;
 }
 
 
        skb = mI_alloc_skb(0, GFP_ATOMIC);
        if (!skb) {
-               printk(KERN_WARNING "L2(%d,%d) nr:%x timer %s lost - no skb\n",
-                      l2->sapi, l2->tei, l2->ch.nr, event == EV_L2_T200 ?
-                      "T200" : "T203");
+               printk(KERN_WARNING "%s: L2(%d,%d) nr:%x timer %s no skb\n",
+                      mISDNDevName4ch(&l2->ch), l2->sapi, l2->tei,
+                      l2->ch.nr, event == EV_L2_T200 ? "T200" : "T203");
                return;
        }
        hh = mISDN_HEAD_P(skb);
        hh->prim = event == EV_L2_T200 ? DL_TIMER200_IND : DL_TIMER203_IND;
        hh->id = l2->ch.nr;
        if (*debug & DEBUG_TIMER)
-               printk(KERN_DEBUG "L2(%d,%d) nr:%x timer %s expired\n",
-                      l2->sapi, l2->tei, l2->ch.nr, event == EV_L2_T200 ?
-                      "T200" : "T203");
+               printk(KERN_DEBUG "%s: L2(%d,%d) nr:%x timer %s expired\n",
+                      mISDNDevName4ch(&l2->ch), l2->sapi, l2->tei,
+                      l2->ch.nr, event == EV_L2_T200 ? "T200" : "T203");
        if (l2->ch.st)
                l2->ch.st->own.recv(&l2->ch.st->own, skb);
 }
 l2mgr(struct layer2 *l2, u_int prim, void *arg) {
        long c = (long)arg;
 
-       printk(KERN_WARNING
-              "l2mgr: addr:%x prim %x %c\n", l2->id, prim, (char)c);
+       printk(KERN_WARNING "l2mgr: dev %s addr:%x prim %x %c\n",
+              mISDNDevName4ch(&l2->ch), l2->id, prim, (char)c);
        if (test_bit(FLG_LAPD, &l2->flag) &&
            !test_bit(FLG_FIXED_TEI, &l2->flag)) {
                switch (c) {
        else {
                skb = mI_alloc_skb(i, GFP_ATOMIC);
                if (!skb) {
-                       printk(KERN_WARNING "%s: can't alloc skbuff\n",
-                              __func__);
+                       printk(KERN_WARNING "%s: can't alloc skbuff in %s\n",
+                              mISDNDevName4ch(&l2->ch), __func__);
                        return;
                }
        }
                tmp[i++] = (l2->vr << 5) | typ | (pf ? 0x10 : 0);
        skb = mI_alloc_skb(i, GFP_ATOMIC);
        if (!skb) {
-               printk(KERN_WARNING
-                      "isdnl2 can't alloc sbbuff for enquiry_cr\n");
+               printk(KERN_WARNING "%s: isdnl2 can't alloc sbbuff in %s\n",
+                      mISDNDevName4ch(&l2->ch), __func__);
                return;
        }
        memcpy(skb_put(skb, i), tmp, i);
                        else
                                printk(KERN_WARNING
                                       "%s: windowar[%d] is NULL\n",
-                                      __func__, p1);
+                                      mISDNDevName4ch(&l2->ch), p1);
                        l2->windowar[p1] = NULL;
                }
                mISDN_FsmEvent(&l2->l2m, EV_L2_ACK_PULL, NULL);
                p1 = (l2->vs - l2->va) % 8;
        p1 = (p1 + l2->sow) % l2->window;
        if (l2->windowar[p1]) {
-               printk(KERN_WARNING "isdnl2 try overwrite ack queue entry %d\n",
-                      p1);
+               printk(KERN_WARNING "%s: l2 try overwrite ack queue entry %d\n",
+                      mISDNDevName4ch(&l2->ch), p1);
                dev_kfree_skb(l2->windowar[p1]);
        }
        l2->windowar[p1] = skb;
                memcpy(skb_push(nskb, i), header, i);
        else {
                printk(KERN_WARNING
-                      "isdnl2 pull_iqueue skb header(%d/%d) too short\n", i, p1);
+                      "%s: L2 pull_iqueue skb header(%d/%d) too short\n",
+                      mISDNDevName4ch(&l2->ch), i, p1);
                oskb = nskb;
                nskb = mI_alloc_skb(oskb->len + i, GFP_ATOMIC);
                if (!nskb) {
                        dev_kfree_skb(oskb);
-                       printk(KERN_WARNING "%s: no skb mem\n", __func__);
+                       printk(KERN_WARNING "%s: no skb mem in %s\n",
+                              mISDNDevName4ch(&l2->ch), __func__);
                        return;
                }
                memcpy(skb_put(nskb, i), header, i);
                ptei = *datap++;
                if ((psapi & 1) || !(ptei & 1)) {
                        printk(KERN_WARNING
-                              "l2 D-channel frame wrong EA0/EA1\n");
+                              "%s l2 D-channel frame wrong EA0/EA1\n",
+                              mISDNDevName4ch(&l2->ch));
                        return ret;
                }
                psapi >>= 2;
                        /* not our business */
                        if (*debug & DEBUG_L2)
                                printk(KERN_DEBUG "%s: sapi %d/%d mismatch\n",
-                                      __func__, psapi, l2->sapi);
+                                      mISDNDevName4ch(&l2->ch), psapi,
+                                      l2->sapi);
                        dev_kfree_skb(skb);
                        return 0;
                }
                        /* not our business */
                        if (*debug & DEBUG_L2)
                                printk(KERN_DEBUG "%s: tei %d/%d mismatch\n",
-                                      __func__, ptei, l2->tei);
+                                      mISDNDevName4ch(&l2->ch), ptei, l2->tei);
                        dev_kfree_skb(skb);
                        return 0;
                }
        } else
                c = 'L';
        if (c) {
-               printk(KERN_WARNING "l2 D-channel frame error %c\n", c);
+               printk(KERN_WARNING "%s:l2 D-channel frame error %c\n",
+                      mISDNDevName4ch(&l2->ch), c);
                mISDN_FsmEvent(&l2->l2m, EV_L2_FRAME_ERROR, (void *)(long)c);
        }
        return ret;
        int                     ret = -EINVAL;
 
        if (*debug & DEBUG_L2_RECV)
-               printk(KERN_DEBUG "%s: prim(%x) id(%x) sapi(%d) tei(%d)\n",
-                      __func__, hh->prim, hh->id, l2->sapi, l2->tei);
+               printk(KERN_DEBUG "%s: %s prim(%x) id(%x) sapi(%d) tei(%d)\n",
+                      __func__, mISDNDevName4ch(&l2->ch), hh->prim, hh->id,
+                      l2->sapi, l2->tei);
        if (hh->prim == DL_INTERN_MSG) {
                struct mISDNhead *chh = hh + 1; /* saved copy */
 
                *hh = *chh;
                if (*debug & DEBUG_L2_RECV)
                        printk(KERN_DEBUG "%s: prim(%x) id(%x) internal msg\n",
-                              __func__, hh->prim, hh->id);
+                               mISDNDevName4ch(&l2->ch), hh->prim, hh->id);
        }
        switch (hh->prim) {
        case PH_DATA_IND:
        int             ret = -EINVAL;
 
        if (*debug & DEBUG_L2_TEI)
-               printk(KERN_DEBUG "%s: cmd(%x)\n", __func__, cmd);
+               printk(KERN_DEBUG "%s: cmd(%x) in %s\n",
+                      mISDNDevName4ch(&l2->ch), cmd, __func__);
        switch (cmd) {
        case (MDL_ASSIGN_REQ):
                ret = mISDN_FsmEvent(&l2->l2m, EV_L2_MDL_ASSIGN, (void *)arg);
                break;
        case (MDL_ERROR_RSP):
                /* ETS 300-125 5.3.2.1 Test: TC13010 */
-               printk(KERN_NOTICE "MDL_ERROR|REQ (tei_l2)\n");
+               printk(KERN_NOTICE "%s: MDL_ERROR|REQ (tei_l2)\n",
+                      mISDNDevName4ch(&l2->ch));
                ret = mISDN_FsmEvent(&l2->l2m, EV_L2_MDL_ERROR, NULL);
                break;
        }
        u_int                   info;
 
        if (*debug & DEBUG_L2_CTRL)
-               printk(KERN_DEBUG "%s:(%x)\n", __func__, cmd);
+               printk(KERN_DEBUG "%s: %s cmd(%x)\n",
+                      mISDNDevName4ch(ch), __func__, cmd);
 
        switch (cmd) {
        case OPEN_CHANNEL: