diff options
Diffstat (limited to 'net/atm')
-rw-r--r-- | net/atm/mpc.c | 13 | ||||
-rw-r--r-- | net/atm/mpoa_caches.c | 12 |
2 files changed, 7 insertions, 18 deletions
diff --git a/net/atm/mpc.c b/net/atm/mpc.c index b87c2a88bdce..0d2b994af511 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c | |||
@@ -560,7 +560,6 @@ static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg) | |||
560 | struct atmmpc_ioc ioc_data; | 560 | struct atmmpc_ioc ioc_data; |
561 | in_cache_entry *in_entry; | 561 | in_cache_entry *in_entry; |
562 | uint32_t ipaddr; | 562 | uint32_t ipaddr; |
563 | unsigned char *ip; | ||
564 | 563 | ||
565 | bytes_left = copy_from_user(&ioc_data, arg, sizeof(struct atmmpc_ioc)); | 564 | bytes_left = copy_from_user(&ioc_data, arg, sizeof(struct atmmpc_ioc)); |
566 | if (bytes_left != 0) { | 565 | if (bytes_left != 0) { |
@@ -583,9 +582,8 @@ static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg) | |||
583 | if (in_entry != NULL) mpc->in_ops->put(in_entry); | 582 | if (in_entry != NULL) mpc->in_ops->put(in_entry); |
584 | return -EINVAL; | 583 | return -EINVAL; |
585 | } | 584 | } |
586 | ip = (unsigned char*)&in_entry->ctrl_info.in_dst_ip; | ||
587 | printk("mpoa: (%s) mpc_vcc_attach: attaching ingress SVC, entry = %u.%u.%u.%u\n", | 585 | printk("mpoa: (%s) mpc_vcc_attach: attaching ingress SVC, entry = %u.%u.%u.%u\n", |
588 | mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | 586 | mpc->dev->name, NIPQUAD(in_entry->ctrl_info.in_dst_ip)); |
589 | in_entry->shortcut = vcc; | 587 | in_entry->shortcut = vcc; |
590 | mpc->in_ops->put(in_entry); | 588 | mpc->in_ops->put(in_entry); |
591 | } else { | 589 | } else { |
@@ -616,10 +614,8 @@ static void mpc_vcc_close(struct atm_vcc *vcc, struct net_device *dev) | |||
616 | dprintk("mpoa: (%s) mpc_vcc_close:\n", dev->name); | 614 | dprintk("mpoa: (%s) mpc_vcc_close:\n", dev->name); |
617 | in_entry = mpc->in_ops->get_by_vcc(vcc, mpc); | 615 | in_entry = mpc->in_ops->get_by_vcc(vcc, mpc); |
618 | if (in_entry) { | 616 | if (in_entry) { |
619 | unsigned char *ip __attribute__ ((unused)) = | ||
620 | (unsigned char *)&in_entry->ctrl_info.in_dst_ip; | ||
621 | dprintk("mpoa: (%s) mpc_vcc_close: ingress SVC closed ip = %u.%u.%u.%u\n", | 617 | dprintk("mpoa: (%s) mpc_vcc_close: ingress SVC closed ip = %u.%u.%u.%u\n", |
622 | mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | 618 | mpc->dev->name, NIPQUAD(in_entry->ctrl_info.in_dst_ip)); |
623 | in_entry->shortcut = NULL; | 619 | in_entry->shortcut = NULL; |
624 | mpc->in_ops->put(in_entry); | 620 | mpc->in_ops->put(in_entry); |
625 | } | 621 | } |
@@ -1154,18 +1150,17 @@ static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc) | |||
1154 | { | 1150 | { |
1155 | uint32_t dst_ip = msg->content.in_info.in_dst_ip; | 1151 | uint32_t dst_ip = msg->content.in_info.in_dst_ip; |
1156 | uint32_t mask = msg->ip_mask; | 1152 | uint32_t mask = msg->ip_mask; |
1157 | unsigned char *ip = (unsigned char *)&dst_ip; | ||
1158 | in_cache_entry *entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask); | 1153 | in_cache_entry *entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask); |
1159 | 1154 | ||
1160 | if(entry == NULL){ | 1155 | if(entry == NULL){ |
1161 | printk("mpoa: (%s) ingress_purge_rcvd: purge for a non-existing entry, ", mpc->dev->name); | 1156 | printk("mpoa: (%s) ingress_purge_rcvd: purge for a non-existing entry, ", mpc->dev->name); |
1162 | printk("ip = %u.%u.%u.%u\n", ip[0], ip[1], ip[2], ip[3]); | 1157 | printk("ip = %u.%u.%u.%u\n", NIPQUAD(dst_ip)); |
1163 | return; | 1158 | return; |
1164 | } | 1159 | } |
1165 | 1160 | ||
1166 | do { | 1161 | do { |
1167 | dprintk("mpoa: (%s) ingress_purge_rcvd: removing an ingress entry, ip = %u.%u.%u.%u\n" , | 1162 | dprintk("mpoa: (%s) ingress_purge_rcvd: removing an ingress entry, ip = %u.%u.%u.%u\n" , |
1168 | mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | 1163 | mpc->dev->name, NIPQUAD(dst_ip)); |
1169 | write_lock_bh(&mpc->ingress_lock); | 1164 | write_lock_bh(&mpc->ingress_lock); |
1170 | mpc->in_ops->remove_entry(entry, mpc); | 1165 | mpc->in_ops->remove_entry(entry, mpc); |
1171 | write_unlock_bh(&mpc->ingress_lock); | 1166 | write_unlock_bh(&mpc->ingress_lock); |
diff --git a/net/atm/mpoa_caches.c b/net/atm/mpoa_caches.c index 781ed1b9329d..fbf13cdcf46e 100644 --- a/net/atm/mpoa_caches.c +++ b/net/atm/mpoa_caches.c | |||
@@ -87,7 +87,6 @@ static in_cache_entry *in_cache_get_by_vcc(struct atm_vcc *vcc, | |||
87 | static in_cache_entry *in_cache_add_entry(uint32_t dst_ip, | 87 | static in_cache_entry *in_cache_add_entry(uint32_t dst_ip, |
88 | struct mpoa_client *client) | 88 | struct mpoa_client *client) |
89 | { | 89 | { |
90 | unsigned char *ip __attribute__ ((unused)) = (unsigned char *)&dst_ip; | ||
91 | in_cache_entry* entry = kmalloc(sizeof(in_cache_entry), GFP_KERNEL); | 90 | in_cache_entry* entry = kmalloc(sizeof(in_cache_entry), GFP_KERNEL); |
92 | 91 | ||
93 | if (entry == NULL) { | 92 | if (entry == NULL) { |
@@ -95,7 +94,7 @@ static in_cache_entry *in_cache_add_entry(uint32_t dst_ip, | |||
95 | return NULL; | 94 | return NULL; |
96 | } | 95 | } |
97 | 96 | ||
98 | dprintk("mpoa: mpoa_caches.c: adding an ingress entry, ip = %u.%u.%u.%u\n", ip[0], ip[1], ip[2], ip[3]); | 97 | dprintk("mpoa: mpoa_caches.c: adding an ingress entry, ip = %u.%u.%u.%u\n", NIPQUAD(dst_ip)); |
99 | memset(entry,0,sizeof(in_cache_entry)); | 98 | memset(entry,0,sizeof(in_cache_entry)); |
100 | 99 | ||
101 | atomic_set(&entry->use, 1); | 100 | atomic_set(&entry->use, 1); |
@@ -152,10 +151,7 @@ static int cache_hit(in_cache_entry *entry, struct mpoa_client *mpc) | |||
152 | 151 | ||
153 | if( entry->count > mpc->parameters.mpc_p1 && | 152 | if( entry->count > mpc->parameters.mpc_p1 && |
154 | entry->entry_state == INGRESS_INVALID){ | 153 | entry->entry_state == INGRESS_INVALID){ |
155 | unsigned char *ip __attribute__ ((unused)) = | 154 | dprintk("mpoa: (%s) mpoa_caches.c: threshold exceeded for ip %u.%u.%u.%u, sending MPOA res req\n", mpc->dev->name, NIPQUAD(entry->ctrl_info.in_dst_ip)); |
156 | (unsigned char *)&entry->ctrl_info.in_dst_ip; | ||
157 | |||
158 | dprintk("mpoa: (%s) mpoa_caches.c: threshold exceeded for ip %u.%u.%u.%u, sending MPOA res req\n", mpc->dev->name, ip[0], ip[1], ip[2], ip[3]); | ||
159 | entry->entry_state = INGRESS_RESOLVING; | 155 | entry->entry_state = INGRESS_RESOLVING; |
160 | msg.type = SND_MPOA_RES_RQST; | 156 | msg.type = SND_MPOA_RES_RQST; |
161 | memcpy(msg.MPS_ctrl, mpc->mps_ctrl_addr, ATM_ESA_LEN ); | 157 | memcpy(msg.MPS_ctrl, mpc->mps_ctrl_addr, ATM_ESA_LEN ); |
@@ -187,11 +183,9 @@ static void in_cache_remove_entry(in_cache_entry *entry, | |||
187 | { | 183 | { |
188 | struct atm_vcc *vcc; | 184 | struct atm_vcc *vcc; |
189 | struct k_message msg; | 185 | struct k_message msg; |
190 | unsigned char *ip; | ||
191 | 186 | ||
192 | vcc = entry->shortcut; | 187 | vcc = entry->shortcut; |
193 | ip = (unsigned char *)&entry->ctrl_info.in_dst_ip; | 188 | dprintk("mpoa: mpoa_caches.c: removing an ingress entry, ip = %u.%u.%u.%u\n",NIPQUAD(entry->ctrl_info.in_dst_ip)); |
194 | dprintk("mpoa: mpoa_caches.c: removing an ingress entry, ip = %u.%u.%u.%u\n",ip[0], ip[1], ip[2], ip[3]); | ||
195 | 189 | ||
196 | if (entry->prev != NULL) | 190 | if (entry->prev != NULL) |
197 | entry->prev->next = entry->next; | 191 | entry->prev->next = entry->next; |