Commit faca94ffaed31528e2e859ee3c26d7d4dba6702f

Authored by Karsten Keil
Committed by David S. Miller
1 parent f885c5b08e

[ISDN]: Remove local copy of device name to make sure renames work.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 3 changed files with 85 additions and 69 deletions Side-by-side Diff

drivers/isdn/i4l/isdn_net.c
... ... @@ -328,7 +328,7 @@
328 328 l->cps = (l->transcount * HZ) / (jiffies - last_jiffies);
329 329 l->transcount = 0;
330 330 if (dev->net_verbose > 3)
331   - printk(KERN_DEBUG "%s: %d bogocps\n", l->name, l->cps);
  331 + printk(KERN_DEBUG "%s: %d bogocps\n", p->dev->name, l->cps);
332 332 if ((l->flags & ISDN_NET_CONNECTED) && (!l->dialstate)) {
333 333 anymore = 1;
334 334 l->huptimer++;
335 335  
... ... @@ -350,12 +350,12 @@
350 350 if (l->hupflags & ISDN_CHARGEHUP) {
351 351 if (l->hupflags & ISDN_WAITCHARGE) {
352 352 printk(KERN_DEBUG "isdn_net: Hupflags of %s are %X\n",
353   - l->name, l->hupflags);
  353 + p->dev->name, l->hupflags);
354 354 isdn_net_hangup(p->dev);
355 355 } else if (time_after(jiffies, l->chargetime + l->chargeint)) {
356 356 printk(KERN_DEBUG
357 357 "isdn_net: %s: chtime = %lu, chint = %d\n",
358   - l->name, l->chargetime, l->chargeint);
  358 + p->dev->name, l->chargetime, l->chargeint);
359 359 isdn_net_hangup(p->dev);
360 360 }
361 361 } else
... ... @@ -442,8 +442,8 @@
442 442 #endif
443 443 isdn_net_lp_disconnected(lp);
444 444 isdn_all_eaz(lp->isdn_device, lp->isdn_channel);
445   - printk(KERN_INFO "%s: remote hangup\n", lp->name);
446   - printk(KERN_INFO "%s: Chargesum is %d\n", lp->name,
  445 + printk(KERN_INFO "%s: remote hangup\n", p->dev->name);
  446 + printk(KERN_INFO "%s: Chargesum is %d\n", p->dev->name,
447 447 lp->charge);
448 448 isdn_net_unbind_channel(lp);
449 449 return 1;
... ... @@ -487,7 +487,7 @@
487 487 isdn_net_add_to_bundle(nd, lp);
488 488 }
489 489 }
490   - printk(KERN_INFO "isdn_net: %s connected\n", lp->name);
  490 + printk(KERN_INFO "isdn_net: %s connected\n", p->dev->name);
491 491 /* If first Chargeinfo comes before B-Channel connect,
492 492 * we correct the timestamp here.
493 493 */
... ... @@ -534,7 +534,7 @@
534 534 lp->hupflags |= ISDN_HAVECHARGE;
535 535 lp->chargetime = jiffies;
536 536 printk(KERN_DEBUG "isdn_net: Got CINF chargetime of %s now %lu\n",
537   - lp->name, lp->chargetime);
  537 + p->dev->name, lp->chargetime);
538 538 return 1;
539 539 }
540 540 }
... ... @@ -565,7 +565,7 @@
565 565  
566 566 #ifdef ISDN_DEBUG_NET_DIAL
567 567 if (lp->dialstate)
568   - printk(KERN_DEBUG "%s: dialstate=%d\n", lp->name, lp->dialstate);
  568 + printk(KERN_DEBUG "%s: dialstate=%d\n", p->dev->name, lp->dialstate);
569 569 #endif
570 570 switch (lp->dialstate) {
571 571 case 0:
... ... @@ -578,7 +578,7 @@
578 578 lp->dial = lp->phone[1];
579 579 if (!lp->dial) {
580 580 printk(KERN_WARNING "%s: phone number deleted?\n",
581   - lp->name);
  581 + p->dev->name);
582 582 isdn_net_hangup(p->dev);
583 583 break;
584 584 }
585 585  
... ... @@ -632,13 +632,13 @@
632 632 cmd.arg = lp->isdn_channel;
633 633 if (!lp->dial) {
634 634 printk(KERN_WARNING "%s: phone number deleted?\n",
635   - lp->name);
  635 + p->dev->name);
636 636 isdn_net_hangup(p->dev);
637 637 break;
638 638 }
639 639 if (!strncmp(lp->dial->num, "LEASED", strlen("LEASED"))) {
640 640 lp->dialstate = 4;
641   - printk(KERN_INFO "%s: Open leased line ...\n", lp->name);
  641 + printk(KERN_INFO "%s: Open leased line ...\n", p->dev->name);
642 642 } else {
643 643 if(lp->dialtimeout > 0)
644 644 if (time_after(jiffies, lp->dialstarted + lp->dialtimeout)) {
... ... @@ -688,7 +688,7 @@
688 688 dev->usage[i] |= ISDN_USAGE_OUTGOING;
689 689 isdn_info_update();
690 690 }
691   - printk(KERN_INFO "%s: dialing %d %s... %s\n", lp->name,
  691 + printk(KERN_INFO "%s: dialing %d %s... %s\n", p->dev->name,
692 692 lp->dialretry, cmd.parm.setup.phone,
693 693 (cmd.parm.setup.si1 == 1) ? "DOV" : "");
694 694 lp->dtimer = 0;
... ... @@ -797,7 +797,7 @@
797 797 */
798 798 if (lp->dtimer++ > lp->cbdelay)
799 799 {
800   - printk(KERN_INFO "%s: hangup waiting for callback ...\n", lp->name);
  800 + printk(KERN_INFO "%s: hangup waiting for callback ...\n", p->dev->name);
801 801 lp->dtimer = 0;
802 802 lp->dialstate = 4;
803 803 cmd.driver = lp->isdn_device;
... ... @@ -810,7 +810,7 @@
810 810 break;
811 811 default:
812 812 printk(KERN_WARNING "isdn_net: Illegal dialstate %d for device %s\n",
813   - lp->dialstate, lp->name);
  813 + lp->dialstate, p->dev->name);
814 814 }
815 815 p = (isdn_net_dev *) p->next;
816 816 }
817 817  
... ... @@ -836,11 +836,11 @@
836 836 if (slp->flags & ISDN_NET_CONNECTED) {
837 837 printk(KERN_INFO
838 838 "isdn_net: hang up slave %s before %s\n",
839   - slp->name, lp->name);
  839 + lp->slave->name, d->name);
840 840 isdn_net_hangup(lp->slave);
841 841 }
842 842 }
843   - printk(KERN_INFO "isdn_net: local hangup %s\n", lp->name);
  843 + printk(KERN_INFO "isdn_net: local hangup %s\n", d->name);
844 844 #ifdef CONFIG_ISDN_PPP
845 845 if (lp->p_encap == ISDN_NET_ENCAP_SYNCPPP)
846 846 isdn_ppp_free(lp);
... ... @@ -858,7 +858,7 @@
858 858 cmd.command = ISDN_CMD_HANGUP;
859 859 cmd.arg = lp->isdn_channel;
860 860 isdn_command(&cmd);
861   - printk(KERN_INFO "%s: Chargesum is %d\n", lp->name, lp->charge);
  861 + printk(KERN_INFO "%s: Chargesum is %d\n", d->name, lp->charge);
862 862 isdn_all_eaz(lp->isdn_device, lp->isdn_channel);
863 863 }
864 864 isdn_net_unbind_channel(lp);
... ... @@ -885,7 +885,7 @@
885 885 /* fall back to old isdn_net_log_packet method() */
886 886 char * buf = skb->data;
887 887  
888   - printk(KERN_DEBUG "isdn_net: protocol %04x is buggy, dev %s\n", skb->protocol, lp->name);
  888 + printk(KERN_DEBUG "isdn_net: protocol %04x is buggy, dev %s\n", skb->protocol, lp->netdev->dev->name);
889 889 p = buf;
890 890 proto = ETH_P_IP;
891 891 switch (lp->p_encap) {
... ... @@ -1023,7 +1023,7 @@
1023 1023 ret = isdn_writebuf_skb_stub(lp->isdn_device, lp->isdn_channel, 1, skb);
1024 1024 if (ret != len) {
1025 1025 /* we should never get here */
1026   - printk(KERN_WARNING "%s: HL driver queue full\n", lp->name);
  1026 + printk(KERN_WARNING "%s: HL driver queue full\n", lp->netdev->dev->name);
1027 1027 goto error;
1028 1028 }
1029 1029  
... ... @@ -1461,7 +1461,7 @@
1461 1461 mod_timer(&lp->cisco_timer, expires);
1462 1462 printk(KERN_INFO "%s: Keepalive period set "
1463 1463 "to %d seconds.\n",
1464   - lp->name, lp->cisco_keepalive_period);
  1464 + dev->name, lp->cisco_keepalive_period);
1465 1465 }
1466 1466 break;
1467 1467  
... ... @@ -1512,7 +1512,7 @@
1512 1512 lp->cisco_line_state = 0;
1513 1513 printk (KERN_WARNING
1514 1514 "UPDOWN: Line protocol on Interface %s,"
1515   - " changed state to down\n", lp->name);
  1515 + " changed state to down\n", lp->netdev->dev->name);
1516 1516 /* should stop routing higher-level data accross */
1517 1517 } else if ((!lp->cisco_line_state) &&
1518 1518 (myseq_diff >= 0) && (myseq_diff <= 2)) {
1519 1519  
... ... @@ -1520,14 +1520,14 @@
1520 1520 lp->cisco_line_state = 1;
1521 1521 printk (KERN_WARNING
1522 1522 "UPDOWN: Line protocol on Interface %s,"
1523   - " changed state to up\n", lp->name);
  1523 + " changed state to up\n", lp->netdev->dev->name);
1524 1524 /* restart routing higher-level data accross */
1525 1525 }
1526 1526  
1527 1527 if (lp->cisco_debserint)
1528 1528 printk (KERN_DEBUG "%s: HDLC "
1529 1529 "myseq %lu, mineseen %lu%c, yourseen %lu, %s\n",
1530   - lp->name, last_cisco_myseq, lp->cisco_mineseen,
  1530 + lp->netdev->dev->name, last_cisco_myseq, lp->cisco_mineseen,
1531 1531 ((last_cisco_myseq == lp->cisco_mineseen) ? '*' : 040),
1532 1532 lp->cisco_yourseq,
1533 1533 ((lp->cisco_line_state) ? "line up" : "line down"));
... ... @@ -1682,7 +1682,7 @@
1682 1682 "remote ip: %d.%d.%d.%d, "
1683 1683 "local ip: %d.%d.%d.%d "
1684 1684 "mask: %d.%d.%d.%d\n",
1685   - lp->name,
  1685 + lp->netdev->dev->name,
1686 1686 HIPQUAD(addr),
1687 1687 HIPQUAD(local),
1688 1688 HIPQUAD(mask));
... ... @@ -1690,7 +1690,7 @@
1690 1690 slarp_reply_out:
1691 1691 printk(KERN_INFO "%s: got invalid slarp "
1692 1692 "reply (%d.%d.%d.%d/%d.%d.%d.%d) "
1693   - "- ignored\n", lp->name,
  1693 + "- ignored\n", lp->netdev->dev->name,
1694 1694 HIPQUAD(addr), HIPQUAD(mask));
1695 1695 break;
1696 1696 case CISCO_SLARP_KEEPALIVE:
... ... @@ -1701,7 +1701,8 @@
1701 1701 lp->cisco_last_slarp_in) {
1702 1702 printk(KERN_DEBUG "%s: Keepalive period mismatch - "
1703 1703 "is %d but should be %d.\n",
1704   - lp->name, period, lp->cisco_keepalive_period);
  1704 + lp->netdev->dev->name, period,
  1705 + lp->cisco_keepalive_period);
1705 1706 }
1706 1707 lp->cisco_last_slarp_in = jiffies;
1707 1708 p += get_u32(p, &my_seq);
1708 1709  
... ... @@ -1732,12 +1733,12 @@
1732 1733  
1733 1734 if (addr != CISCO_ADDR_UNICAST && addr != CISCO_ADDR_BROADCAST) {
1734 1735 printk(KERN_WARNING "%s: Unknown Cisco addr 0x%02x\n",
1735   - lp->name, addr);
  1736 + lp->netdev->dev->name, addr);
1736 1737 goto out_free;
1737 1738 }
1738 1739 if (ctrl != CISCO_CTRL) {
1739 1740 printk(KERN_WARNING "%s: Unknown Cisco ctrl 0x%02x\n",
1740   - lp->name, ctrl);
  1741 + lp->netdev->dev->name, ctrl);
1741 1742 goto out_free;
1742 1743 }
1743 1744  
... ... @@ -1748,7 +1749,8 @@
1748 1749 case CISCO_TYPE_CDP:
1749 1750 if (lp->cisco_debserint)
1750 1751 printk(KERN_DEBUG "%s: Received CDP packet. use "
1751   - "\"no cdp enable\" on cisco.\n", lp->name);
  1752 + "\"no cdp enable\" on cisco.\n",
  1753 + lp->netdev->dev->name);
1752 1754 goto out_free;
1753 1755 default:
1754 1756 /* no special cisco protocol */
... ... @@ -1843,7 +1845,7 @@
1843 1845 };
1844 1846 #endif /* CONFIG_ISDN_X25 */
1845 1847 printk(KERN_WARNING "%s: unknown encapsulation, dropping\n",
1846   - lp->name);
  1848 + lp->netdev->dev->name);
1847 1849 kfree_skb(skb);
1848 1850 return;
1849 1851 }
... ... @@ -2174,7 +2176,7 @@
2174 2176 wret = matchret;
2175 2177 #ifdef ISDN_DEBUG_NET_ICALL
2176 2178 printk(KERN_DEBUG "n_fi: if='%s', l.msn=%s, l.flags=%d, l.dstate=%d\n",
2177   - lp->name, lp->msn, lp->flags, lp->dialstate);
  2179 + p->dev->name, lp->msn, lp->flags, lp->dialstate);
2178 2180 #endif
2179 2181 if ((!matchret) && /* EAZ is matching */
2180 2182 (((!(lp->flags & ISDN_NET_CONNECTED)) && /* but not connected */
... ... @@ -2277,7 +2279,7 @@
2277 2279 * */
2278 2280 if (ISDN_NET_DIALMODE(*lp) == ISDN_NET_DM_OFF) {
2279 2281 printk(KERN_INFO "incoming call, interface %s `stopped' -> rejected\n",
2280   - lp->name);
  2282 + p->dev->name);
2281 2283 return 3;
2282 2284 }
2283 2285 /*
... ... @@ -2286,7 +2288,7 @@
2286 2288 */
2287 2289 if (!isdn_net_device_started(p)) {
2288 2290 printk(KERN_INFO "%s: incoming call, interface down -> rejected\n",
2289   - lp->name);
  2291 + p->dev->name);
2290 2292 return 3;
2291 2293 }
2292 2294 /* Interface is up, now see if it's a slave. If so, see if
... ... @@ -2294,8 +2296,8 @@
2294 2296 */
2295 2297 if (lp->master) {
2296 2298 isdn_net_local *mlp = (isdn_net_local *) lp->master->priv;
2297   - printk(KERN_DEBUG "ICALLslv: %s\n", lp->name);
2298   - printk(KERN_DEBUG "master=%s\n", mlp->name);
  2299 + printk(KERN_DEBUG "ICALLslv: %s\n", p->dev->name);
  2300 + printk(KERN_DEBUG "master=%s\n", lp->master->name);
2299 2301 if (mlp->flags & ISDN_NET_CONNECTED) {
2300 2302 printk(KERN_DEBUG "master online\n");
2301 2303 /* Master is online, find parent-slave (master if first slave) */
2302 2304  
... ... @@ -2322,11 +2324,11 @@
2322 2324 * */
2323 2325 if (ISDN_NET_DIALMODE(*lp) == ISDN_NET_DM_OFF) {
2324 2326 printk(KERN_INFO "incoming call for callback, interface %s `off' -> rejected\n",
2325   - lp->name);
  2327 + p->dev->name);
2326 2328 return 3;
2327 2329 }
2328 2330 printk(KERN_DEBUG "%s: call from %s -> %s, start callback\n",
2329   - lp->name, nr, eaz);
  2331 + p->dev->name, nr, eaz);
2330 2332 if (lp->phone[1]) {
2331 2333 /* Grab a free ISDN-Channel */
2332 2334 spin_lock_irqsave(&dev->lock, flags);
... ... @@ -2340,7 +2342,8 @@
2340 2342 lp->msn)
2341 2343 ) < 0) {
2342 2344  
2343   - printk(KERN_WARNING "isdn_net_find_icall: No channel for %s\n", lp->name);
  2345 + printk(KERN_WARNING "isdn_net_find_icall: No channel for %s\n",
  2346 + p->dev->name);
2344 2347 spin_unlock_irqrestore(&dev->lock, flags);
2345 2348 return 0;
2346 2349 }
2347 2350  
... ... @@ -2361,11 +2364,12 @@
2361 2364 /* Initiate dialing by returning 2 or 4 */
2362 2365 return (lp->flags & ISDN_NET_CBHUP) ? 2 : 4;
2363 2366 } else
2364   - printk(KERN_WARNING "isdn_net: %s: No phone number\n", lp->name);
  2367 + printk(KERN_WARNING "isdn_net: %s: No phone number\n",
  2368 + p->dev->name);
2365 2369 return 0;
2366 2370 } else {
2367   - printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
2368   - eaz);
  2371 + printk(KERN_DEBUG "%s: call from %s -> %s accepted\n",
  2372 + p->dev->name, nr, eaz);
2369 2373 /* if this interface is dialing, it does it probably on a different
2370 2374 device, so free this device */
2371 2375 if ((lp->dialstate == 4) || (lp->dialstate == 12)) {
... ... @@ -2424,7 +2428,7 @@
2424 2428 isdn_net_dev *p = dev->netdev;
2425 2429  
2426 2430 while (p) {
2427   - if (!strcmp(p->local->name, name))
  2431 + if (!strcmp(p->dev->name, name))
2428 2432 return p;
2429 2433 p = (isdn_net_dev *) p->next;
2430 2434 }
... ... @@ -2453,7 +2457,8 @@
2453 2457 lp->pre_device,
2454 2458 lp->pre_channel,
2455 2459 lp->msn)) < 0) {
2456   - printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
  2460 + printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n",
  2461 + lp->netdev->dev->name);
2457 2462 spin_unlock_irqrestore(&dev->lock, flags);
2458 2463 return -EAGAIN;
2459 2464 }
... ... @@ -2556,7 +2561,7 @@
2556 2561 return NULL;
2557 2562 }
2558 2563 if (name == NULL)
2559   - name = " ";
  2564 + return NULL;
2560 2565 if (!(netdev = kzalloc(sizeof(isdn_net_dev), GFP_KERNEL))) {
2561 2566 printk(KERN_WARNING "isdn_net: Could not allocate net-device\n");
2562 2567 return NULL;
... ... @@ -2568,7 +2573,6 @@
2568 2573 return NULL;
2569 2574 }
2570 2575 netdev->local = netdev->dev->priv;
2571   - strcpy(netdev->local->name, netdev->dev->name);
2572 2576 netdev->dev->init = isdn_net_init;
2573 2577 if (master) {
2574 2578 /* Device shall be a slave */
... ... @@ -2673,7 +2677,7 @@
2673 2677 #endif
2674 2678 if (isdn_net_device_started(p)) {
2675 2679 printk(KERN_WARNING "%s: cannot change encap when if is up\n",
2676   - lp->name);
  2680 + p->dev->name);
2677 2681 return -EBUSY;
2678 2682 }
2679 2683 #ifdef CONFIG_ISDN_X25
... ... @@ -2698,7 +2702,7 @@
2698 2702 case ISDN_NET_ENCAP_SYNCPPP:
2699 2703 #ifndef CONFIG_ISDN_PPP
2700 2704 printk(KERN_WARNING "%s: SyncPPP support not configured\n",
2701   - lp->name);
  2705 + p->dev->name);
2702 2706 return -EINVAL;
2703 2707 #else
2704 2708 p->dev->type = ARPHRD_PPP; /* change ARP type */
... ... @@ -2725,7 +2729,7 @@
2725 2729 break;
2726 2730 printk(KERN_WARNING
2727 2731 "%s: encapsulation protocol %d not supported\n",
2728   - p->local->name, cfg->p_encap);
  2732 + p->dev->name, cfg->p_encap);
2729 2733 return -EINVAL;
2730 2734 }
2731 2735 if (strlen(cfg->drvid)) {
2732 2736  
... ... @@ -2902,13 +2906,18 @@
2902 2906 cfg->pppbind = lp->pppbind;
2903 2907 cfg->dialtimeout = lp->dialtimeout >= 0 ? lp->dialtimeout / HZ : -1;
2904 2908 cfg->dialwait = lp->dialwait / HZ;
2905   - if (lp->slave)
2906   - strcpy(cfg->slave, ((isdn_net_local *) lp->slave->priv)->name);
2907   - else
  2909 + if (lp->slave) {
  2910 + if (strlen(lp->slave->name) > 8)
  2911 + strcpy(cfg->slave, "too-long");
  2912 + else
  2913 + strcpy(cfg->slave, lp->slave->name);
  2914 + } else
2908 2915 cfg->slave[0] = '\0';
2909   - if (lp->master)
2910   - strcpy(cfg->master, ((isdn_net_local *) lp->master->priv)->name);
2911   - else
  2916 + if (lp->master) {
  2917 + if (strlen(lp->master->name) > 8)
  2918 + strcpy(cfg->master, "too-long");
  2919 + strcpy(cfg->master, lp->master->name);
  2920 + } else
2912 2921 cfg->master[0] = '\0';
2913 2922 return 0;
2914 2923 }
... ... @@ -2978,7 +2987,8 @@
2978 2987 isdn_net_dev *p = isdn_net_findif(phone->name);
2979 2988 int ch, dv, idx;
2980 2989  
2981   - if (!p) return -ENODEV;
  2990 + if (!p)
  2991 + return -ENODEV;
2982 2992 /*
2983 2993 * Theoretical race: while this executes, the remote number might
2984 2994 * become invalid (hang up) or change (new connection), resulting
2985 2995  
2986 2996  
... ... @@ -2987,14 +2997,18 @@
2987 2997 */
2988 2998 ch = p->local->isdn_channel;
2989 2999 dv = p->local->isdn_device;
2990   - if(ch<0 && dv<0) return -ENOTCONN;
  3000 + if(ch < 0 && dv < 0)
  3001 + return -ENOTCONN;
2991 3002 idx = isdn_dc2minor(dv, ch);
2992   - if (idx<0) return -ENODEV;
  3003 + if (idx <0 )
  3004 + return -ENODEV;
2993 3005 /* for pre-bound channels, we need this extra check */
2994   - if ( strncmp(dev->num[idx],"???",3) == 0 ) return -ENOTCONN;
2995   - strncpy(phone->phone,dev->num[idx],ISDN_MSNLEN);
2996   - phone->outgoing=USG_OUTGOING(dev->usage[idx]);
2997   - if ( copy_to_user(peer,phone,sizeof(*peer)) ) return -EFAULT;
  3006 + if (strncmp(dev->num[idx], "???", 3) == 0)
  3007 + return -ENOTCONN;
  3008 + strncpy(phone->phone, dev->num[idx], ISDN_MSNLEN);
  3009 + phone->outgoing = USG_OUTGOING(dev->usage[idx]);
  3010 + if (copy_to_user(peer, phone, sizeof(*peer)))
  3011 + return -EFAULT;
2998 3012 return 0;
2999 3013 }
3000 3014 /*
3001 3015  
3002 3016  
... ... @@ -3113,18 +3127,18 @@
3113 3127 dev->netdev = p->next;
3114 3128 if (p->local->slave) {
3115 3129 /* If this interface has a slave, remove it also */
3116   - char *slavename = ((isdn_net_local *) (p->local->slave->priv))->name;
  3130 + char *slavename = p->local->slave->name;
3117 3131 isdn_net_dev *n = dev->netdev;
3118 3132 q = NULL;
3119 3133 while (n) {
3120   - if (!strcmp(n->local->name, slavename)) {
  3134 + if (!strcmp(n->dev->name, slavename)) {
3121 3135 spin_unlock_irqrestore(&dev->lock, flags);
3122 3136 isdn_net_realrm(n, q);
3123 3137 spin_lock_irqsave(&dev->lock, flags);
3124 3138 break;
3125 3139 }
3126 3140 q = n;
3127   - n = (isdn_net_dev *) n->next;
  3141 + n = (isdn_net_dev *)n->next;
3128 3142 }
3129 3143 }
3130 3144 spin_unlock_irqrestore(&dev->lock, flags);
... ... @@ -3152,7 +3166,7 @@
3152 3166 p = dev->netdev;
3153 3167 q = NULL;
3154 3168 while (p) {
3155   - if (!strcmp(p->local->name, name)) {
  3169 + if (!strcmp(p->dev->name, name)) {
3156 3170 spin_unlock_irqrestore(&dev->lock, flags);
3157 3171 return (isdn_net_realrm(p, q));
3158 3172 }
drivers/isdn/i4l/isdn_ppp.c
... ... @@ -190,9 +190,11 @@
190 190 retval = -1;
191 191 goto out;
192 192 }
193   - unit = isdn_ppp_if_get_unit(lp->name); /* get unit number from interface name .. ugly! */
  193 + /* get unit number from interface name .. ugly! */
  194 + unit = isdn_ppp_if_get_unit(lp->netdev->dev->name);
194 195 if (unit < 0) {
195   - printk(KERN_ERR "isdn_ppp_bind: illegal interface name %s.\n", lp->name);
  196 + printk(KERN_ERR "isdn_ppp_bind: illegal interface name %s.\n",
  197 + lp->netdev->dev->name);
196 198 retval = -1;
197 199 goto out;
198 200 }
... ... @@ -507,7 +509,8 @@
507 509 case PPPIOCGIFNAME:
508 510 if(!lp)
509 511 return -EINVAL;
510   - if ((r = set_arg(argp, lp->name, strlen(lp->name))))
  512 + if ((r = set_arg(argp, lp->netdev->dev->name,
  513 + strlen(lp->netdev->dev->name))))
511 514 return r;
512 515 break;
513 516 case PPPIOCGMPFLAGS: /* get configuration flags */
include/linux/isdn.h
... ... @@ -286,7 +286,6 @@
286 286 /* Local interface-data */
287 287 typedef struct isdn_net_local_s {
288 288 ulong magic;
289   - char name[10]; /* Name of device */
290 289 struct net_device_stats stats; /* Ethernet Statistics */
291 290 int isdn_device; /* Index to isdn-device */
292 291 int isdn_channel; /* Index to isdn-channel */