diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/atm/mpc.c | 153 | ||||
-rw-r--r-- | net/atm/mpoa_caches.c | 50 | ||||
-rw-r--r-- | net/atm/mpoa_proc.c | 28 |
3 files changed, 124 insertions, 107 deletions
diff --git a/net/atm/mpc.c b/net/atm/mpc.c index 55dba22e44b3..a6521c8aa88b 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c | |||
@@ -38,21 +38,31 @@ | |||
38 | */ | 38 | */ |
39 | 39 | ||
40 | #if 0 | 40 | #if 0 |
41 | #define dprintk(format, args...) printk(KERN_DEBUG format, ##args) /* debug */ | 41 | #define dprintk(format, args...) \ |
42 | printk(KERN_DEBUG "mpoa:%s: " format, __func__, ##args) | ||
43 | #define dprintk_cont(format, args...) printk(KERN_CONT format, ##args) | ||
42 | #else | 44 | #else |
43 | #define dprintk(format, args...) \ | 45 | #define dprintk(format, args...) \ |
44 | do { if (0) printk(KERN_DEBUG format, ##args); } while (0) | 46 | do { if (0) \ |
47 | printk(KERN_DEBUG "mpoa:%s: " format, __func__, ##args);\ | ||
48 | } while (0) | ||
49 | #define dprintk_cont(format, args...) \ | ||
50 | do { if (0) printk(KERN_CONT format, ##args); } while (0) | ||
45 | #endif | 51 | #endif |
46 | 52 | ||
47 | #if 0 | 53 | #if 0 |
48 | #define ddprintk printk(KERN_DEBUG format, ##args) /* more debug */ | 54 | #define ddprintk(format, args...) \ |
55 | printk(KERN_DEBUG "mpoa:%s: " format, __func__, ##args) | ||
56 | #define ddprintk_cont(format, args...) printk(KERN_CONT format, ##args) | ||
49 | #else | 57 | #else |
50 | #define ddprintk(format, args...) \ | 58 | #define ddprintk(format, args...) \ |
51 | do { if (0) printk(KERN_DEBUG format, ##args); } while (0) | 59 | do { if (0) \ |
60 | printk(KERN_DEBUG "mpoa:%s: " format, __func__, ##args);\ | ||
61 | } while (0) | ||
62 | #define ddprintk_cont(format, args...) \ | ||
63 | do { if (0) printk(KERN_CONT format, ##args); } while (0) | ||
52 | #endif | 64 | #endif |
53 | 65 | ||
54 | |||
55 | |||
56 | #define MPOA_TAG_LEN 4 | 66 | #define MPOA_TAG_LEN 4 |
57 | 67 | ||
58 | /* mpc_daemon -> kernel */ | 68 | /* mpc_daemon -> kernel */ |
@@ -302,7 +312,7 @@ static struct mpoa_client *alloc_mpc(void) | |||
302 | static void start_mpc(struct mpoa_client *mpc, struct net_device *dev) | 312 | static void start_mpc(struct mpoa_client *mpc, struct net_device *dev) |
303 | { | 313 | { |
304 | 314 | ||
305 | dprintk("mpoa: (%s) start_mpc:\n", mpc->dev->name); | 315 | dprintk("(%s)\n", mpc->dev->name); |
306 | if (!dev->netdev_ops) | 316 | if (!dev->netdev_ops) |
307 | pr_info("(%s) not starting\n", dev->name); | 317 | pr_info("(%s) not starting\n", dev->name); |
308 | else { | 318 | else { |
@@ -316,14 +326,14 @@ static void start_mpc(struct mpoa_client *mpc, struct net_device *dev) | |||
316 | static void stop_mpc(struct mpoa_client *mpc) | 326 | static void stop_mpc(struct mpoa_client *mpc) |
317 | { | 327 | { |
318 | struct net_device *dev = mpc->dev; | 328 | struct net_device *dev = mpc->dev; |
319 | dprintk("mpoa: (%s) stop_mpc:", mpc->dev->name); | 329 | dprintk("(%s)", mpc->dev->name); |
320 | 330 | ||
321 | /* Lets not nullify lec device's dev->hard_start_xmit */ | 331 | /* Lets not nullify lec device's dev->hard_start_xmit */ |
322 | if (dev->netdev_ops != &mpc->new_ops) { | 332 | if (dev->netdev_ops != &mpc->new_ops) { |
323 | dprintk(" mpc already stopped, not fatal\n"); | 333 | dprintk_cont(" mpc already stopped, not fatal\n"); |
324 | return; | 334 | return; |
325 | } | 335 | } |
326 | dprintk("\n"); | 336 | dprintk_cont("\n"); |
327 | 337 | ||
328 | dev->netdev_ops = mpc->old_ops; | 338 | dev->netdev_ops = mpc->old_ops; |
329 | mpc->old_ops = NULL; | 339 | mpc->old_ops = NULL; |
@@ -371,7 +381,7 @@ static void lane2_assoc_ind(struct net_device *dev, const u8 *mac_addr, | |||
371 | struct mpoa_client *mpc; | 381 | struct mpoa_client *mpc; |
372 | 382 | ||
373 | mpoa_device_type = number_of_mps_macs = 0; /* silence gcc */ | 383 | mpoa_device_type = number_of_mps_macs = 0; /* silence gcc */ |
374 | dprintk("mpoa: (%s) lane2_assoc_ind: received TLV(s), ", dev->name); | 384 | dprintk("(%s) received TLV(s), ", dev->name); |
375 | dprintk("total length of all TLVs %d\n", sizeoftlvs); | 385 | dprintk("total length of all TLVs %d\n", sizeoftlvs); |
376 | mpc = find_mpc_by_lec(dev); /* Sampo-Fix: moved here from below */ | 386 | mpc = find_mpc_by_lec(dev); /* Sampo-Fix: moved here from below */ |
377 | if (mpc == NULL) { | 387 | if (mpc == NULL) { |
@@ -402,7 +412,7 @@ static void lane2_assoc_ind(struct net_device *dev, const u8 *mac_addr, | |||
402 | } | 412 | } |
403 | mpoa_device_type = *tlvs++; | 413 | mpoa_device_type = *tlvs++; |
404 | number_of_mps_macs = *tlvs++; | 414 | number_of_mps_macs = *tlvs++; |
405 | dprintk("mpoa: (%s) MPOA device type '%s', ", | 415 | dprintk("(%s) MPOA device type '%s', ", |
406 | dev->name, mpoa_device_type_string(mpoa_device_type)); | 416 | dev->name, mpoa_device_type_string(mpoa_device_type)); |
407 | if (mpoa_device_type == MPS_AND_MPC && | 417 | if (mpoa_device_type == MPS_AND_MPC && |
408 | length < (42 + number_of_mps_macs*ETH_ALEN)) { /* :) */ | 418 | length < (42 + number_of_mps_macs*ETH_ALEN)) { /* :) */ |
@@ -417,7 +427,7 @@ static void lane2_assoc_ind(struct net_device *dev, const u8 *mac_addr, | |||
417 | } | 427 | } |
418 | if (mpoa_device_type != MPS && | 428 | if (mpoa_device_type != MPS && |
419 | mpoa_device_type != MPS_AND_MPC) { | 429 | mpoa_device_type != MPS_AND_MPC) { |
420 | dprintk("ignoring non-MPS device\n"); | 430 | dprintk("ignoring non-MPS device "); |
421 | if (mpoa_device_type == MPC) | 431 | if (mpoa_device_type == MPC) |
422 | tlvs += 20; | 432 | tlvs += 20; |
423 | continue; /* we are only interested in MPSs */ | 433 | continue; /* we are only interested in MPSs */ |
@@ -427,7 +437,8 @@ static void lane2_assoc_ind(struct net_device *dev, const u8 *mac_addr, | |||
427 | pr_info("(%s) MPS_AND_MPC has zero MACs\n", dev->name); | 437 | pr_info("(%s) MPS_AND_MPC has zero MACs\n", dev->name); |
428 | continue; /* someone should read the spec */ | 438 | continue; /* someone should read the spec */ |
429 | } | 439 | } |
430 | dprintk("this MPS has %d MAC addresses\n", number_of_mps_macs); | 440 | dprintk_cont("this MPS has %d MAC addresses\n", |
441 | number_of_mps_macs); | ||
431 | 442 | ||
432 | /* | 443 | /* |
433 | * ok, now we can go and tell our daemon | 444 | * ok, now we can go and tell our daemon |
@@ -498,7 +509,7 @@ static int send_via_shortcut(struct sk_buff *skb, struct mpoa_client *mpc) | |||
498 | iph = (struct iphdr *)buff; | 509 | iph = (struct iphdr *)buff; |
499 | ipaddr = iph->daddr; | 510 | ipaddr = iph->daddr; |
500 | 511 | ||
501 | ddprintk("mpoa: (%s) send_via_shortcut: ipaddr 0x%x\n", | 512 | ddprintk("(%s) ipaddr 0x%x\n", |
502 | mpc->dev->name, ipaddr); | 513 | mpc->dev->name, ipaddr); |
503 | 514 | ||
504 | entry = mpc->in_ops->get(ipaddr, mpc); | 515 | entry = mpc->in_ops->get(ipaddr, mpc); |
@@ -510,17 +521,17 @@ static int send_via_shortcut(struct sk_buff *skb, struct mpoa_client *mpc) | |||
510 | } | 521 | } |
511 | /* threshold not exceeded or VCC not ready */ | 522 | /* threshold not exceeded or VCC not ready */ |
512 | if (mpc->in_ops->cache_hit(entry, mpc) != OPEN) { | 523 | if (mpc->in_ops->cache_hit(entry, mpc) != OPEN) { |
513 | ddprintk("mpoa: (%s) send_via_shortcut: cache_hit: returns != OPEN\n", | 524 | ddprintk("(%s) cache_hit: returns != OPEN\n", |
514 | mpc->dev->name); | 525 | mpc->dev->name); |
515 | mpc->in_ops->put(entry); | 526 | mpc->in_ops->put(entry); |
516 | return 1; | 527 | return 1; |
517 | } | 528 | } |
518 | 529 | ||
519 | ddprintk("mpoa: (%s) send_via_shortcut: using shortcut\n", | 530 | ddprintk("(%s) using shortcut\n", |
520 | mpc->dev->name); | 531 | mpc->dev->name); |
521 | /* MPOA spec A.1.4, MPOA client must decrement IP ttl at least by one */ | 532 | /* MPOA spec A.1.4, MPOA client must decrement IP ttl at least by one */ |
522 | if (iph->ttl <= 1) { | 533 | if (iph->ttl <= 1) { |
523 | ddprintk("mpoa: (%s) send_via_shortcut: IP ttl = %u, using LANE\n", | 534 | ddprintk("(%s) IP ttl = %u, using LANE\n", |
524 | mpc->dev->name, iph->ttl); | 535 | mpc->dev->name, iph->ttl); |
525 | mpc->in_ops->put(entry); | 536 | mpc->in_ops->put(entry); |
526 | return 1; | 537 | return 1; |
@@ -530,7 +541,7 @@ static int send_via_shortcut(struct sk_buff *skb, struct mpoa_client *mpc) | |||
530 | iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); | 541 | iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); |
531 | 542 | ||
532 | if (entry->ctrl_info.tag != 0) { | 543 | if (entry->ctrl_info.tag != 0) { |
533 | ddprintk("mpoa: (%s) send_via_shortcut: adding tag 0x%x\n", | 544 | ddprintk("(%s) adding tag 0x%x\n", |
534 | mpc->dev->name, entry->ctrl_info.tag); | 545 | mpc->dev->name, entry->ctrl_info.tag); |
535 | tagged_llc_snap_hdr.tag = entry->ctrl_info.tag; | 546 | tagged_llc_snap_hdr.tag = entry->ctrl_info.tag; |
536 | skb_pull(skb, ETH_HLEN); /* get rid of Eth header */ | 547 | skb_pull(skb, ETH_HLEN); /* get rid of Eth header */ |
@@ -655,25 +666,23 @@ static void mpc_vcc_close(struct atm_vcc *vcc, struct net_device *dev) | |||
655 | return; | 666 | return; |
656 | } | 667 | } |
657 | 668 | ||
658 | dprintk("mpoa: (%s) mpc_vcc_close:\n", dev->name); | 669 | dprintk("(%s)\n", dev->name); |
659 | in_entry = mpc->in_ops->get_by_vcc(vcc, mpc); | 670 | in_entry = mpc->in_ops->get_by_vcc(vcc, mpc); |
660 | if (in_entry) { | 671 | if (in_entry) { |
661 | dprintk("mpoa: (%s) mpc_vcc_close: ingress SVC closed ip = %pI4\n", | 672 | dprintk("(%s) ingress SVC closed ip = %pI4\n", |
662 | mpc->dev->name, &in_entry->ctrl_info.in_dst_ip); | 673 | mpc->dev->name, &in_entry->ctrl_info.in_dst_ip); |
663 | in_entry->shortcut = NULL; | 674 | in_entry->shortcut = NULL; |
664 | mpc->in_ops->put(in_entry); | 675 | mpc->in_ops->put(in_entry); |
665 | } | 676 | } |
666 | eg_entry = mpc->eg_ops->get_by_vcc(vcc, mpc); | 677 | eg_entry = mpc->eg_ops->get_by_vcc(vcc, mpc); |
667 | if (eg_entry) { | 678 | if (eg_entry) { |
668 | dprintk("mpoa: (%s) mpc_vcc_close: egress SVC closed\n", | 679 | dprintk("(%s) egress SVC closed\n", mpc->dev->name); |
669 | mpc->dev->name); | ||
670 | eg_entry->shortcut = NULL; | 680 | eg_entry->shortcut = NULL; |
671 | mpc->eg_ops->put(eg_entry); | 681 | mpc->eg_ops->put(eg_entry); |
672 | } | 682 | } |
673 | 683 | ||
674 | if (in_entry == NULL && eg_entry == NULL) | 684 | if (in_entry == NULL && eg_entry == NULL) |
675 | dprintk("mpoa: (%s) mpc_vcc_close: unused vcc closed\n", | 685 | dprintk("(%s) unused vcc closed\n", dev->name); |
676 | dev->name); | ||
677 | 686 | ||
678 | return; | 687 | return; |
679 | } | 688 | } |
@@ -687,10 +696,9 @@ static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb) | |||
687 | __be32 tag; | 696 | __be32 tag; |
688 | char *tmp; | 697 | char *tmp; |
689 | 698 | ||
690 | ddprintk("mpoa: (%s) mpc_push:\n", dev->name); | 699 | ddprintk("(%s)\n", dev->name); |
691 | if (skb == NULL) { | 700 | if (skb == NULL) { |
692 | dprintk("mpoa: (%s) mpc_push: null skb, closing VCC\n", | 701 | dprintk("(%s) null skb, closing VCC\n", dev->name); |
693 | dev->name); | ||
694 | mpc_vcc_close(vcc, dev); | 702 | mpc_vcc_close(vcc, dev); |
695 | return; | 703 | return; |
696 | } | 704 | } |
@@ -700,8 +708,7 @@ static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb) | |||
700 | sizeof(struct llc_snap_hdr)) == 0) { | 708 | sizeof(struct llc_snap_hdr)) == 0) { |
701 | struct sock *sk = sk_atm(vcc); | 709 | struct sock *sk = sk_atm(vcc); |
702 | 710 | ||
703 | dprintk("mpoa: (%s) mpc_push: control packet arrived\n", | 711 | dprintk("(%s) control packet arrived\n", dev->name); |
704 | dev->name); | ||
705 | /* Pass control packets to daemon */ | 712 | /* Pass control packets to daemon */ |
706 | skb_queue_tail(&sk->sk_receive_queue, skb); | 713 | skb_queue_tail(&sk->sk_receive_queue, skb); |
707 | sk->sk_data_ready(sk, skb->len); | 714 | sk->sk_data_ready(sk, skb->len); |
@@ -719,8 +726,7 @@ static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb) | |||
719 | 726 | ||
720 | if (memcmp(skb->data, &llc_snap_mpoa_data_tagged, | 727 | if (memcmp(skb->data, &llc_snap_mpoa_data_tagged, |
721 | sizeof(struct llc_snap_hdr)) == 0) { /* MPOA tagged data */ | 728 | sizeof(struct llc_snap_hdr)) == 0) { /* MPOA tagged data */ |
722 | ddprintk("mpoa: (%s) mpc_push: tagged data packet arrived\n", | 729 | ddprintk("(%s) tagged data packet arrived\n", dev->name); |
723 | dev->name); | ||
724 | 730 | ||
725 | } else if (memcmp(skb->data, &llc_snap_mpoa_data, | 731 | } else if (memcmp(skb->data, &llc_snap_mpoa_data, |
726 | sizeof(struct llc_snap_hdr)) == 0) { /* MPOA data */ | 732 | sizeof(struct llc_snap_hdr)) == 0) { /* MPOA data */ |
@@ -813,8 +819,7 @@ static int atm_mpoa_mpoad_attach(struct atm_vcc *vcc, int arg) | |||
813 | 819 | ||
814 | mpc = find_mpc_by_itfnum(arg); | 820 | mpc = find_mpc_by_itfnum(arg); |
815 | if (mpc == NULL) { | 821 | if (mpc == NULL) { |
816 | dprintk("mpoa: mpoad_attach: allocating new mpc for itf %d\n", | 822 | dprintk("allocating new mpc for itf %d\n", arg); |
817 | arg); | ||
818 | mpc = alloc_mpc(); | 823 | mpc = alloc_mpc(); |
819 | if (mpc == NULL) | 824 | if (mpc == NULL) |
820 | return -ENOMEM; | 825 | return -ENOMEM; |
@@ -923,55 +928,54 @@ static int msg_from_mpoad(struct atm_vcc *vcc, struct sk_buff *skb) | |||
923 | pr_info("no mpc found\n"); | 928 | pr_info("no mpc found\n"); |
924 | return 0; | 929 | return 0; |
925 | } | 930 | } |
926 | dprintk("mpoa: (%s) msg_from_mpoad:", | 931 | dprintk("(%s)", mpc->dev ? mpc->dev->name : "<unknown>"); |
927 | (mpc->dev) ? mpc->dev->name : "<unknown>"); | ||
928 | switch (mesg->type) { | 932 | switch (mesg->type) { |
929 | case MPOA_RES_REPLY_RCVD: | 933 | case MPOA_RES_REPLY_RCVD: |
930 | dprintk(" mpoa_res_reply_rcvd\n"); | 934 | dprintk_cont("mpoa_res_reply_rcvd\n"); |
931 | MPOA_res_reply_rcvd(mesg, mpc); | 935 | MPOA_res_reply_rcvd(mesg, mpc); |
932 | break; | 936 | break; |
933 | case MPOA_TRIGGER_RCVD: | 937 | case MPOA_TRIGGER_RCVD: |
934 | dprintk(" mpoa_trigger_rcvd\n"); | 938 | dprintk_cont("mpoa_trigger_rcvd\n"); |
935 | MPOA_trigger_rcvd(mesg, mpc); | 939 | MPOA_trigger_rcvd(mesg, mpc); |
936 | break; | 940 | break; |
937 | case INGRESS_PURGE_RCVD: | 941 | case INGRESS_PURGE_RCVD: |
938 | dprintk(" nhrp_purge_rcvd\n"); | 942 | dprintk_cont("nhrp_purge_rcvd\n"); |
939 | ingress_purge_rcvd(mesg, mpc); | 943 | ingress_purge_rcvd(mesg, mpc); |
940 | break; | 944 | break; |
941 | case EGRESS_PURGE_RCVD: | 945 | case EGRESS_PURGE_RCVD: |
942 | dprintk(" egress_purge_reply_rcvd\n"); | 946 | dprintk_cont("egress_purge_reply_rcvd\n"); |
943 | egress_purge_rcvd(mesg, mpc); | 947 | egress_purge_rcvd(mesg, mpc); |
944 | break; | 948 | break; |
945 | case MPS_DEATH: | 949 | case MPS_DEATH: |
946 | dprintk(" mps_death\n"); | 950 | dprintk_cont("mps_death\n"); |
947 | mps_death(mesg, mpc); | 951 | mps_death(mesg, mpc); |
948 | break; | 952 | break; |
949 | case CACHE_IMPOS_RCVD: | 953 | case CACHE_IMPOS_RCVD: |
950 | dprintk(" cache_impos_rcvd\n"); | 954 | dprintk_cont("cache_impos_rcvd\n"); |
951 | MPOA_cache_impos_rcvd(mesg, mpc); | 955 | MPOA_cache_impos_rcvd(mesg, mpc); |
952 | break; | 956 | break; |
953 | case SET_MPC_CTRL_ADDR: | 957 | case SET_MPC_CTRL_ADDR: |
954 | dprintk(" set_mpc_ctrl_addr\n"); | 958 | dprintk_cont("set_mpc_ctrl_addr\n"); |
955 | set_mpc_ctrl_addr_rcvd(mesg, mpc); | 959 | set_mpc_ctrl_addr_rcvd(mesg, mpc); |
956 | break; | 960 | break; |
957 | case SET_MPS_MAC_ADDR: | 961 | case SET_MPS_MAC_ADDR: |
958 | dprintk(" set_mps_mac_addr\n"); | 962 | dprintk_cont("set_mps_mac_addr\n"); |
959 | set_mps_mac_addr_rcvd(mesg, mpc); | 963 | set_mps_mac_addr_rcvd(mesg, mpc); |
960 | break; | 964 | break; |
961 | case CLEAN_UP_AND_EXIT: | 965 | case CLEAN_UP_AND_EXIT: |
962 | dprintk(" clean_up_and_exit\n"); | 966 | dprintk_cont("clean_up_and_exit\n"); |
963 | clean_up(mesg, mpc, DIE); | 967 | clean_up(mesg, mpc, DIE); |
964 | break; | 968 | break; |
965 | case RELOAD: | 969 | case RELOAD: |
966 | dprintk(" reload\n"); | 970 | dprintk_cont("reload\n"); |
967 | clean_up(mesg, mpc, RELOAD); | 971 | clean_up(mesg, mpc, RELOAD); |
968 | break; | 972 | break; |
969 | case SET_MPC_PARAMS: | 973 | case SET_MPC_PARAMS: |
970 | dprintk(" set_mpc_params\n"); | 974 | dprintk_cont("set_mpc_params\n"); |
971 | mpc->parameters = mesg->content.params; | 975 | mpc->parameters = mesg->content.params; |
972 | break; | 976 | break; |
973 | default: | 977 | default: |
974 | dprintk(" unknown message %d\n", mesg->type); | 978 | dprintk_cont("unknown message %d\n", mesg->type); |
975 | break; | 979 | break; |
976 | } | 980 | } |
977 | kfree_skb(skb); | 981 | kfree_skb(skb); |
@@ -1027,8 +1031,7 @@ static int mpoa_event_listener(struct notifier_block *mpoa_notifier, | |||
1027 | priv->lane2_ops->associate_indicator = lane2_assoc_ind; | 1031 | priv->lane2_ops->associate_indicator = lane2_assoc_ind; |
1028 | mpc = find_mpc_by_itfnum(priv->itfnum); | 1032 | mpc = find_mpc_by_itfnum(priv->itfnum); |
1029 | if (mpc == NULL) { | 1033 | if (mpc == NULL) { |
1030 | dprintk("mpoa: mpoa_event_listener: allocating new mpc for %s\n", | 1034 | dprintk("allocating new mpc for %s\n", dev->name); |
1031 | dev->name); | ||
1032 | mpc = alloc_mpc(); | 1035 | mpc = alloc_mpc(); |
1033 | if (mpc == NULL) { | 1036 | if (mpc == NULL) { |
1034 | pr_info("no new mpc"); | 1037 | pr_info("no new mpc"); |
@@ -1038,14 +1041,14 @@ static int mpoa_event_listener(struct notifier_block *mpoa_notifier, | |||
1038 | mpc->dev_num = priv->itfnum; | 1041 | mpc->dev_num = priv->itfnum; |
1039 | mpc->dev = dev; | 1042 | mpc->dev = dev; |
1040 | dev_hold(dev); | 1043 | dev_hold(dev); |
1041 | dprintk("mpoa: (%s) was initialized\n", dev->name); | 1044 | dprintk("(%s) was initialized\n", dev->name); |
1042 | break; | 1045 | break; |
1043 | case NETDEV_UNREGISTER: | 1046 | case NETDEV_UNREGISTER: |
1044 | /* the lec device was deallocated */ | 1047 | /* the lec device was deallocated */ |
1045 | mpc = find_mpc_by_lec(dev); | 1048 | mpc = find_mpc_by_lec(dev); |
1046 | if (mpc == NULL) | 1049 | if (mpc == NULL) |
1047 | break; | 1050 | break; |
1048 | dprintk("mpoa: device (%s) was deallocated\n", dev->name); | 1051 | dprintk("device (%s) was deallocated\n", dev->name); |
1049 | stop_mpc(mpc); | 1052 | stop_mpc(mpc); |
1050 | dev_put(mpc->dev); | 1053 | dev_put(mpc->dev); |
1051 | mpc->dev = NULL; | 1054 | mpc->dev = NULL; |
@@ -1143,7 +1146,7 @@ static void check_qos_and_open_shortcut(struct k_message *msg, | |||
1143 | entry->shortcut = eg_entry->shortcut; | 1146 | entry->shortcut = eg_entry->shortcut; |
1144 | } | 1147 | } |
1145 | if (entry->shortcut) { | 1148 | if (entry->shortcut) { |
1146 | dprintk("mpoa: (%s) using egress SVC to reach %pI4\n", | 1149 | dprintk("(%s) using egress SVC to reach %pI4\n", |
1147 | client->dev->name, &dst_ip); | 1150 | client->dev->name, &dst_ip); |
1148 | client->eg_ops->put(eg_entry); | 1151 | client->eg_ops->put(eg_entry); |
1149 | return; | 1152 | return; |
@@ -1170,16 +1173,16 @@ static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1170 | __be32 dst_ip = msg->content.in_info.in_dst_ip; | 1173 | __be32 dst_ip = msg->content.in_info.in_dst_ip; |
1171 | in_cache_entry *entry = mpc->in_ops->get(dst_ip, mpc); | 1174 | in_cache_entry *entry = mpc->in_ops->get(dst_ip, mpc); |
1172 | 1175 | ||
1173 | dprintk("mpoa: (%s) MPOA_res_reply_rcvd: ip %pI4\n", | 1176 | dprintk("(%s) ip %pI4\n", |
1174 | mpc->dev->name, &dst_ip); | 1177 | mpc->dev->name, &dst_ip); |
1175 | ddprintk("mpoa: (%s) MPOA_res_reply_rcvd() entry = %p", | 1178 | ddprintk("(%s) entry = %p", |
1176 | mpc->dev->name, entry); | 1179 | mpc->dev->name, entry); |
1177 | if (entry == NULL) { | 1180 | if (entry == NULL) { |
1178 | pr_info("(%s) ARGH, received res. reply for an entry that doesn't exist.\n", | 1181 | pr_info("(%s) ARGH, received res. reply for an entry that doesn't exist.\n", |
1179 | mpc->dev->name); | 1182 | mpc->dev->name); |
1180 | return; | 1183 | return; |
1181 | } | 1184 | } |
1182 | ddprintk(" entry_state = %d ", entry->entry_state); | 1185 | ddprintk_cont(" entry_state = %d ", entry->entry_state); |
1183 | 1186 | ||
1184 | if (entry->entry_state == INGRESS_RESOLVED) { | 1187 | if (entry->entry_state == INGRESS_RESOLVED) { |
1185 | pr_info("(%s) RESOLVED entry!\n", mpc->dev->name); | 1188 | pr_info("(%s) RESOLVED entry!\n", mpc->dev->name); |
@@ -1191,7 +1194,7 @@ static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1191 | do_gettimeofday(&(entry->tv)); | 1194 | do_gettimeofday(&(entry->tv)); |
1192 | do_gettimeofday(&(entry->reply_wait)); /* Used in refreshing func from now on */ | 1195 | do_gettimeofday(&(entry->reply_wait)); /* Used in refreshing func from now on */ |
1193 | entry->refresh_time = 0; | 1196 | entry->refresh_time = 0; |
1194 | ddprintk("entry->shortcut = %p\n", entry->shortcut); | 1197 | ddprintk_cont("entry->shortcut = %p\n", entry->shortcut); |
1195 | 1198 | ||
1196 | if (entry->entry_state == INGRESS_RESOLVING && | 1199 | if (entry->entry_state == INGRESS_RESOLVING && |
1197 | entry->shortcut != NULL) { | 1200 | entry->shortcut != NULL) { |
@@ -1228,7 +1231,7 @@ static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1228 | } | 1231 | } |
1229 | 1232 | ||
1230 | do { | 1233 | do { |
1231 | dprintk("mpoa: (%s) ingress_purge_rcvd: removing an ingress entry, ip = %pI4\n", | 1234 | dprintk("(%s) removing an ingress entry, ip = %pI4\n", |
1232 | mpc->dev->name, &dst_ip); | 1235 | mpc->dev->name, &dst_ip); |
1233 | write_lock_bh(&mpc->ingress_lock); | 1236 | write_lock_bh(&mpc->ingress_lock); |
1234 | mpc->in_ops->remove_entry(entry, mpc); | 1237 | mpc->in_ops->remove_entry(entry, mpc); |
@@ -1246,7 +1249,7 @@ static void egress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1246 | eg_cache_entry *entry = mpc->eg_ops->get_by_cache_id(cache_id, mpc); | 1249 | eg_cache_entry *entry = mpc->eg_ops->get_by_cache_id(cache_id, mpc); |
1247 | 1250 | ||
1248 | if (entry == NULL) { | 1251 | if (entry == NULL) { |
1249 | dprintk("mpoa: (%s) egress_purge_rcvd: purge for a non-existing entry\n", | 1252 | dprintk("(%s) purge for a non-existing entry\n", |
1250 | mpc->dev->name); | 1253 | mpc->dev->name); |
1251 | return; | 1254 | return; |
1252 | } | 1255 | } |
@@ -1266,7 +1269,7 @@ static void purge_egress_shortcut(struct atm_vcc *vcc, eg_cache_entry *entry) | |||
1266 | struct k_message *purge_msg; | 1269 | struct k_message *purge_msg; |
1267 | struct sk_buff *skb; | 1270 | struct sk_buff *skb; |
1268 | 1271 | ||
1269 | dprintk("mpoa: purge_egress_shortcut: entering\n"); | 1272 | dprintk("entering\n"); |
1270 | if (vcc == NULL) { | 1273 | if (vcc == NULL) { |
1271 | pr_info("vcc == NULL\n"); | 1274 | pr_info("vcc == NULL\n"); |
1272 | return; | 1275 | return; |
@@ -1290,7 +1293,7 @@ static void purge_egress_shortcut(struct atm_vcc *vcc, eg_cache_entry *entry) | |||
1290 | sk = sk_atm(vcc); | 1293 | sk = sk_atm(vcc); |
1291 | skb_queue_tail(&sk->sk_receive_queue, skb); | 1294 | skb_queue_tail(&sk->sk_receive_queue, skb); |
1292 | sk->sk_data_ready(sk, skb->len); | 1295 | sk->sk_data_ready(sk, skb->len); |
1293 | dprintk("mpoa: purge_egress_shortcut: exiting:\n"); | 1296 | dprintk("exiting\n"); |
1294 | 1297 | ||
1295 | return; | 1298 | return; |
1296 | } | 1299 | } |
@@ -1303,7 +1306,7 @@ static void mps_death(struct k_message *msg, struct mpoa_client *mpc) | |||
1303 | { | 1306 | { |
1304 | eg_cache_entry *entry; | 1307 | eg_cache_entry *entry; |
1305 | 1308 | ||
1306 | dprintk("mpoa: (%s) mps_death:\n", mpc->dev->name); | 1309 | dprintk("(%s)\n", mpc->dev->name); |
1307 | 1310 | ||
1308 | if (memcmp(msg->MPS_ctrl, mpc->mps_ctrl_addr, ATM_ESA_LEN)) { | 1311 | if (memcmp(msg->MPS_ctrl, mpc->mps_ctrl_addr, ATM_ESA_LEN)) { |
1309 | pr_info("(%s) wrong MPS\n", mpc->dev->name); | 1312 | pr_info("(%s) wrong MPS\n", mpc->dev->name); |
@@ -1332,7 +1335,7 @@ static void MPOA_cache_impos_rcvd(struct k_message *msg, | |||
1332 | eg_cache_entry *entry = mpc->eg_ops->get_by_cache_id(msg->content.eg_info.cache_id, mpc); | 1335 | eg_cache_entry *entry = mpc->eg_ops->get_by_cache_id(msg->content.eg_info.cache_id, mpc); |
1333 | 1336 | ||
1334 | holding_time = msg->content.eg_info.holding_time; | 1337 | holding_time = msg->content.eg_info.holding_time; |
1335 | dprintk("mpoa: (%s) MPOA_cache_impos_rcvd: entry = %p, holding_time = %u\n", | 1338 | dprintk("(%s) entry = %p, holding_time = %u\n", |
1336 | mpc->dev->name, entry, holding_time); | 1339 | mpc->dev->name, entry, holding_time); |
1337 | if (entry == NULL && holding_time) { | 1340 | if (entry == NULL && holding_time) { |
1338 | entry = mpc->eg_ops->add_entry(msg, mpc); | 1341 | entry = mpc->eg_ops->add_entry(msg, mpc); |
@@ -1369,11 +1372,11 @@ static void set_mpc_ctrl_addr_rcvd(struct k_message *mesg, | |||
1369 | memcpy(&tlv[7], mesg->MPS_ctrl, ATM_ESA_LEN); /* MPC ctrl ATM addr */ | 1372 | memcpy(&tlv[7], mesg->MPS_ctrl, ATM_ESA_LEN); /* MPC ctrl ATM addr */ |
1370 | memcpy(mpc->our_ctrl_addr, mesg->MPS_ctrl, ATM_ESA_LEN); | 1373 | memcpy(mpc->our_ctrl_addr, mesg->MPS_ctrl, ATM_ESA_LEN); |
1371 | 1374 | ||
1372 | dprintk("mpoa: (%s) setting MPC ctrl ATM address to ", | 1375 | dprintk("(%s) setting MPC ctrl ATM address to", |
1373 | (mpc->dev) ? mpc->dev->name : "<unknown>"); | 1376 | mpc->dev ? mpc->dev->name : "<unknown>"); |
1374 | for (i = 7; i < sizeof(tlv); i++) | 1377 | for (i = 7; i < sizeof(tlv); i++) |
1375 | dprintk("%02x ", tlv[i]); | 1378 | dprintk_cont(" %02x", tlv[i]); |
1376 | dprintk("\n"); | 1379 | dprintk_cont("\n"); |
1377 | 1380 | ||
1378 | if (mpc->dev) { | 1381 | if (mpc->dev) { |
1379 | priv = netdev_priv(mpc->dev); | 1382 | priv = netdev_priv(mpc->dev); |
@@ -1424,7 +1427,7 @@ static void clean_up(struct k_message *msg, struct mpoa_client *mpc, int action) | |||
1424 | entry = mpc->eg_cache; | 1427 | entry = mpc->eg_cache; |
1425 | while (entry != NULL) { | 1428 | while (entry != NULL) { |
1426 | msg->content.eg_info = entry->ctrl_info; | 1429 | msg->content.eg_info = entry->ctrl_info; |
1427 | dprintk("mpoa: cache_id %u\n", entry->ctrl_info.cache_id); | 1430 | dprintk("cache_id %u\n", entry->ctrl_info.cache_id); |
1428 | msg_to_mpoad(msg, mpc); | 1431 | msg_to_mpoad(msg, mpc); |
1429 | entry = entry->next; | 1432 | entry = entry->next; |
1430 | } | 1433 | } |
@@ -1537,15 +1540,15 @@ static void __exit atm_mpoa_cleanup(void) | |||
1537 | if (priv->lane2_ops != NULL) | 1540 | if (priv->lane2_ops != NULL) |
1538 | priv->lane2_ops->associate_indicator = NULL; | 1541 | priv->lane2_ops->associate_indicator = NULL; |
1539 | } | 1542 | } |
1540 | ddprintk("mpoa: cleanup_module: about to clear caches\n"); | 1543 | ddprintk("about to clear caches\n"); |
1541 | mpc->in_ops->destroy_cache(mpc); | 1544 | mpc->in_ops->destroy_cache(mpc); |
1542 | mpc->eg_ops->destroy_cache(mpc); | 1545 | mpc->eg_ops->destroy_cache(mpc); |
1543 | ddprintk("mpoa: cleanup_module: caches cleared\n"); | 1546 | ddprintk("caches cleared\n"); |
1544 | kfree(mpc->mps_macs); | 1547 | kfree(mpc->mps_macs); |
1545 | memset(mpc, 0, sizeof(struct mpoa_client)); | 1548 | memset(mpc, 0, sizeof(struct mpoa_client)); |
1546 | ddprintk("mpoa: cleanup_module: about to kfree %p\n", mpc); | 1549 | ddprintk("about to kfree %p\n", mpc); |
1547 | kfree(mpc); | 1550 | kfree(mpc); |
1548 | ddprintk("mpoa: cleanup_module: next mpc is at %p\n", tmp); | 1551 | ddprintk("next mpc is at %p\n", tmp); |
1549 | mpc = tmp; | 1552 | mpc = tmp; |
1550 | } | 1553 | } |
1551 | 1554 | ||
@@ -1553,7 +1556,7 @@ static void __exit atm_mpoa_cleanup(void) | |||
1553 | qos_head = NULL; | 1556 | qos_head = NULL; |
1554 | while (qos != NULL) { | 1557 | while (qos != NULL) { |
1555 | nextqos = qos->next; | 1558 | nextqos = qos->next; |
1556 | dprintk("mpoa: cleanup_module: freeing qos entry %p\n", qos); | 1559 | dprintk("freeing qos entry %p\n", qos); |
1557 | kfree(qos); | 1560 | kfree(qos); |
1558 | qos = nextqos; | 1561 | qos = nextqos; |
1559 | } | 1562 | } |
diff --git a/net/atm/mpoa_caches.c b/net/atm/mpoa_caches.c index de21cc66feb4..4c141810eb6d 100644 --- a/net/atm/mpoa_caches.c +++ b/net/atm/mpoa_caches.c | |||
@@ -11,17 +11,23 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | #if 0 | 13 | #if 0 |
14 | #define dprintk(format, args...) printk(KERN_DEBUG format, ##args) /* debug */ | 14 | #define dprintk(format, args...) \ |
15 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args) /* debug */ | ||
15 | #else | 16 | #else |
16 | #define dprintk(format, args...) \ | 17 | #define dprintk(format, args...) \ |
17 | do { if (0) printk(KERN_DEBUG format, ##args); } while (0) | 18 | do { if (0) \ |
19 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args);\ | ||
20 | } while (0) | ||
18 | #endif | 21 | #endif |
19 | 22 | ||
20 | #if 0 | 23 | #if 0 |
21 | #define ddprintk printk(KERN_DEBUG format, ##args) /* more debug */ | 24 | #define ddprintk(format, args...) \ |
25 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args) /* debug */ | ||
22 | #else | 26 | #else |
23 | #define ddprintk(format, args...) \ | 27 | #define ddprintk(format, args...) \ |
24 | do { if (0) printk(KERN_DEBUG format, ##args); } while (0) | 28 | do { if (0) \ |
29 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args);\ | ||
30 | } while (0) | ||
25 | #endif | 31 | #endif |
26 | 32 | ||
27 | static in_cache_entry *in_cache_get(__be32 dst_ip, | 33 | static in_cache_entry *in_cache_get(__be32 dst_ip, |
@@ -96,11 +102,10 @@ static in_cache_entry *in_cache_add_entry(__be32 dst_ip, | |||
96 | return NULL; | 102 | return NULL; |
97 | } | 103 | } |
98 | 104 | ||
99 | dprintk("mpoa: mpoa_caches.c: adding an ingress entry, ip = %pI4\n", | 105 | dprintk("adding an ingress entry, ip = %pI4\n", &dst_ip); |
100 | &dst_ip); | ||
101 | 106 | ||
102 | atomic_set(&entry->use, 1); | 107 | atomic_set(&entry->use, 1); |
103 | dprintk("mpoa: mpoa_caches.c: new_in_cache_entry: about to lock\n"); | 108 | dprintk("new_in_cache_entry: about to lock\n"); |
104 | write_lock_bh(&client->ingress_lock); | 109 | write_lock_bh(&client->ingress_lock); |
105 | entry->next = client->in_cache; | 110 | entry->next = client->in_cache; |
106 | entry->prev = NULL; | 111 | entry->prev = NULL; |
@@ -118,7 +123,7 @@ static in_cache_entry *in_cache_add_entry(__be32 dst_ip, | |||
118 | atomic_inc(&entry->use); | 123 | atomic_inc(&entry->use); |
119 | 124 | ||
120 | write_unlock_bh(&client->ingress_lock); | 125 | write_unlock_bh(&client->ingress_lock); |
121 | dprintk("mpoa: mpoa_caches.c: new_in_cache_entry: unlocked\n"); | 126 | dprintk("new_in_cache_entry: unlocked\n"); |
122 | 127 | ||
123 | return entry; | 128 | return entry; |
124 | } | 129 | } |
@@ -154,7 +159,7 @@ static int cache_hit(in_cache_entry *entry, struct mpoa_client *mpc) | |||
154 | 159 | ||
155 | if (entry->count > mpc->parameters.mpc_p1 && | 160 | if (entry->count > mpc->parameters.mpc_p1 && |
156 | entry->entry_state == INGRESS_INVALID) { | 161 | entry->entry_state == INGRESS_INVALID) { |
157 | dprintk("mpoa: (%s) mpoa_caches.c: threshold exceeded for ip %pI4, sending MPOA res req\n", | 162 | dprintk("(%s) threshold exceeded for ip %pI4, sending MPOA res req\n", |
158 | mpc->dev->name, &entry->ctrl_info.in_dst_ip); | 163 | mpc->dev->name, &entry->ctrl_info.in_dst_ip); |
159 | entry->entry_state = INGRESS_RESOLVING; | 164 | entry->entry_state = INGRESS_RESOLVING; |
160 | msg.type = SND_MPOA_RES_RQST; | 165 | msg.type = SND_MPOA_RES_RQST; |
@@ -190,7 +195,7 @@ static void in_cache_remove_entry(in_cache_entry *entry, | |||
190 | struct k_message msg; | 195 | struct k_message msg; |
191 | 196 | ||
192 | vcc = entry->shortcut; | 197 | vcc = entry->shortcut; |
193 | dprintk("mpoa: mpoa_caches.c: removing an ingress entry, ip = %pI4\n", | 198 | dprintk("removing an ingress entry, ip = %pI4\n", |
194 | &entry->ctrl_info.in_dst_ip); | 199 | &entry->ctrl_info.in_dst_ip); |
195 | 200 | ||
196 | if (entry->prev != NULL) | 201 | if (entry->prev != NULL) |
@@ -235,7 +240,7 @@ static void clear_count_and_expired(struct mpoa_client *client) | |||
235 | next_entry = entry->next; | 240 | next_entry = entry->next; |
236 | if ((now.tv_sec - entry->tv.tv_sec) | 241 | if ((now.tv_sec - entry->tv.tv_sec) |
237 | > entry->ctrl_info.holding_time) { | 242 | > entry->ctrl_info.holding_time) { |
238 | dprintk("mpoa: mpoa_caches.c: holding time expired, ip = %pI4\n", | 243 | dprintk("holding time expired, ip = %pI4\n", |
239 | &entry->ctrl_info.in_dst_ip); | 244 | &entry->ctrl_info.in_dst_ip); |
240 | client->in_ops->remove_entry(entry, client); | 245 | client->in_ops->remove_entry(entry, client); |
241 | } | 246 | } |
@@ -302,7 +307,7 @@ static void refresh_entries(struct mpoa_client *client) | |||
302 | struct timeval now; | 307 | struct timeval now; |
303 | struct in_cache_entry *entry = client->in_cache; | 308 | struct in_cache_entry *entry = client->in_cache; |
304 | 309 | ||
305 | ddprintk("mpoa: mpoa_caches.c: refresh_entries\n"); | 310 | ddprintk("refresh_entries\n"); |
306 | do_gettimeofday(&now); | 311 | do_gettimeofday(&now); |
307 | 312 | ||
308 | read_lock_bh(&client->ingress_lock); | 313 | read_lock_bh(&client->ingress_lock); |
@@ -312,7 +317,7 @@ static void refresh_entries(struct mpoa_client *client) | |||
312 | entry->refresh_time = (2 * (entry->ctrl_info.holding_time))/3; | 317 | entry->refresh_time = (2 * (entry->ctrl_info.holding_time))/3; |
313 | if ((now.tv_sec - entry->reply_wait.tv_sec) > | 318 | if ((now.tv_sec - entry->reply_wait.tv_sec) > |
314 | entry->refresh_time) { | 319 | entry->refresh_time) { |
315 | dprintk("mpoa: mpoa_caches.c: refreshing an entry.\n"); | 320 | dprintk("refreshing an entry.\n"); |
316 | entry->entry_state = INGRESS_REFRESHING; | 321 | entry->entry_state = INGRESS_REFRESHING; |
317 | 322 | ||
318 | } | 323 | } |
@@ -435,7 +440,7 @@ static void eg_cache_remove_entry(eg_cache_entry *entry, | |||
435 | struct k_message msg; | 440 | struct k_message msg; |
436 | 441 | ||
437 | vcc = entry->shortcut; | 442 | vcc = entry->shortcut; |
438 | dprintk("mpoa: mpoa_caches.c: removing an egress entry.\n"); | 443 | dprintk("removing an egress entry.\n"); |
439 | if (entry->prev != NULL) | 444 | if (entry->prev != NULL) |
440 | entry->prev->next = entry->next; | 445 | entry->prev->next = entry->next; |
441 | else | 446 | else |
@@ -471,11 +476,11 @@ static eg_cache_entry *eg_cache_add_entry(struct k_message *msg, | |||
471 | return NULL; | 476 | return NULL; |
472 | } | 477 | } |
473 | 478 | ||
474 | dprintk("mpoa: mpoa_caches.c: adding an egress entry, ip = %pI4, this should be our IP\n", | 479 | dprintk("adding an egress entry, ip = %pI4, this should be our IP\n", |
475 | &msg->content.eg_info.eg_dst_ip); | 480 | &msg->content.eg_info.eg_dst_ip); |
476 | 481 | ||
477 | atomic_set(&entry->use, 1); | 482 | atomic_set(&entry->use, 1); |
478 | dprintk("mpoa: mpoa_caches.c: new_eg_cache_entry: about to lock\n"); | 483 | dprintk("new_eg_cache_entry: about to lock\n"); |
479 | write_lock_irq(&client->egress_lock); | 484 | write_lock_irq(&client->egress_lock); |
480 | entry->next = client->eg_cache; | 485 | entry->next = client->eg_cache; |
481 | entry->prev = NULL; | 486 | entry->prev = NULL; |
@@ -487,14 +492,13 @@ static eg_cache_entry *eg_cache_add_entry(struct k_message *msg, | |||
487 | entry->ctrl_info = msg->content.eg_info; | 492 | entry->ctrl_info = msg->content.eg_info; |
488 | do_gettimeofday(&(entry->tv)); | 493 | do_gettimeofday(&(entry->tv)); |
489 | entry->entry_state = EGRESS_RESOLVED; | 494 | entry->entry_state = EGRESS_RESOLVED; |
490 | dprintk("mpoa: mpoa_caches.c: new_eg_cache_entry cache_id %u\n", | 495 | dprintk("new_eg_cache_entry cache_id %u\n", |
491 | ntohl(entry->ctrl_info.cache_id)); | 496 | ntohl(entry->ctrl_info.cache_id)); |
492 | dprintk("mpoa: mpoa_caches.c: mps_ip = %pI4\n", | 497 | dprintk("mps_ip = %pI4\n", &entry->ctrl_info.mps_ip); |
493 | &entry->ctrl_info.mps_ip); | ||
494 | atomic_inc(&entry->use); | 498 | atomic_inc(&entry->use); |
495 | 499 | ||
496 | write_unlock_irq(&client->egress_lock); | 500 | write_unlock_irq(&client->egress_lock); |
497 | dprintk("mpoa: mpoa_caches.c: new_eg_cache_entry: unlocked\n"); | 501 | dprintk("new_eg_cache_entry: unlocked\n"); |
498 | 502 | ||
499 | return entry; | 503 | return entry; |
500 | } | 504 | } |
@@ -524,7 +528,7 @@ static void clear_expired(struct mpoa_client *client) | |||
524 | > entry->ctrl_info.holding_time) { | 528 | > entry->ctrl_info.holding_time) { |
525 | msg.type = SND_EGRESS_PURGE; | 529 | msg.type = SND_EGRESS_PURGE; |
526 | msg.content.eg_info = entry->ctrl_info; | 530 | msg.content.eg_info = entry->ctrl_info; |
527 | dprintk("mpoa: mpoa_caches.c: egress_cache: holding time expired, cache_id = %u.\n", | 531 | dprintk("egress_cache: holding time expired, cache_id = %u.\n", |
528 | ntohl(entry->ctrl_info.cache_id)); | 532 | ntohl(entry->ctrl_info.cache_id)); |
529 | msg_to_mpoad(&msg, client); | 533 | msg_to_mpoad(&msg, client); |
530 | client->eg_ops->remove_entry(entry, client); | 534 | client->eg_ops->remove_entry(entry, client); |
diff --git a/net/atm/mpoa_proc.c b/net/atm/mpoa_proc.c index aae4a87c22ac..b9bdb98427e4 100644 --- a/net/atm/mpoa_proc.c +++ b/net/atm/mpoa_proc.c | |||
@@ -21,10 +21,23 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | #if 1 | 23 | #if 1 |
24 | #define dprintk(format, args...) printk(KERN_DEBUG format, ##args) /* debug */ | 24 | #define dprintk(format, args...) \ |
25 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args) /* debug */ | ||
25 | #else | 26 | #else |
26 | #define dprintk(format, args...) \ | 27 | #define dprintk(format, args...) \ |
27 | do { if (0) printk(KERN_DEBUG format, ##args); } while (0) | 28 | do { if (0) \ |
29 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args);\ | ||
30 | } while (0) | ||
31 | #endif | ||
32 | |||
33 | #if 0 | ||
34 | #define ddprintk(format, args...) \ | ||
35 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args) /* debug */ | ||
36 | #else | ||
37 | #define ddprintk(format, args...) \ | ||
38 | do { if (0) \ | ||
39 | printk(KERN_DEBUG "mpoa:%s: " format, __FILE__, ##args);\ | ||
40 | } while (0) | ||
28 | #endif | 41 | #endif |
29 | 42 | ||
30 | #define STAT_FILE_NAME "mpc" /* Our statistic file's name */ | 43 | #define STAT_FILE_NAME "mpc" /* Our statistic file's name */ |
@@ -258,12 +271,9 @@ static int parse_qos(const char *buff) | |||
258 | qos.rxtp.max_pcr = rx_pcr; | 271 | qos.rxtp.max_pcr = rx_pcr; |
259 | qos.rxtp.max_sdu = rx_sdu; | 272 | qos.rxtp.max_sdu = rx_sdu; |
260 | qos.aal = ATM_AAL5; | 273 | qos.aal = ATM_AAL5; |
261 | dprintk("mpoa: mpoa_proc.c: parse_qos(): setting qos paramameters to tx=%d,%d rx=%d,%d\n", | 274 | dprintk("parse_qos(): setting qos paramameters to tx=%d,%d rx=%d,%d\n", |
262 | qos.txtp.max_pcr, | 275 | qos.txtp.max_pcr, qos.txtp.max_sdu, |
263 | qos.txtp.max_sdu, | 276 | qos.rxtp.max_pcr, qos.rxtp.max_sdu); |
264 | qos.rxtp.max_pcr, | ||
265 | qos.rxtp.max_sdu | ||
266 | ); | ||
267 | 277 | ||
268 | atm_mpoa_add_qos(ipaddr, &qos); | 278 | atm_mpoa_add_qos(ipaddr, &qos); |
269 | return 1; | 279 | return 1; |