aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-10-27 18:59:26 -0400
committerDavid S. Miller <davem@davemloft.net>2008-10-27 20:06:18 -0400
commite174961ca1a0b28f7abf0be47973ad57cb74e5f0 (patch)
treee8f74ecd420a0e380a71670e5aec5c2a0c15640a /net
parent0c68ae2605dbcf67414d8d1f19af93be44b355fb (diff)
net: convert print_mac to %pM
This converts pretty much everything to print_mac. There were a few things that had conflicts which I have just dropped for now, no harm done. I've built an allyesconfig with this and looked at the files that weren't built very carefully, but it's a huge patch. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/802/tr.c22
-rw-r--r--net/appletalk/aarp.c3
-rw-r--r--net/atm/br2684.c5
-rw-r--r--net/atm/lec.c26
-rw-r--r--net/core/netpoll.c5
-rw-r--r--net/core/pktgen.c9
-rw-r--r--net/ieee80211/ieee80211_crypt_ccmp.c13
-rw-r--r--net/ieee80211/ieee80211_crypt_tkip.c29
-rw-r--r--net/ieee80211/ieee80211_rx.c71
-rw-r--r--net/ieee80211/ieee80211_wx.c5
-rw-r--r--net/irda/irlan/irlan_client.c4
-rw-r--r--net/llc/llc_proc.c3
-rw-r--r--net/tipc/eth_media.c3
13 files changed, 67 insertions, 131 deletions
diff --git a/net/802/tr.c b/net/802/tr.c
index 18c66475d8c3..38f1f290c635 100644
--- a/net/802/tr.c
+++ b/net/802/tr.c
@@ -285,10 +285,7 @@ void tr_source_route(struct sk_buff *skb,struct trh_hdr *trh,
285 if(entry) 285 if(entry)
286 { 286 {
287#if TR_SR_DEBUG 287#if TR_SR_DEBUG
288{ 288printk("source routing for %pM\n", trh->daddr);
289DECLARE_MAC_BUF(mac);
290printk("source routing for %s\n",print_mac(mac, trh->daddr));
291}
292#endif 289#endif
293 if(!entry->local_ring && (ntohs(entry->rcf) & TR_RCF_LEN_MASK) >> 8) 290 if(!entry->local_ring && (ntohs(entry->rcf) & TR_RCF_LEN_MASK) >> 8)
294 { 291 {
@@ -370,9 +367,8 @@ static void tr_add_rif_info(struct trh_hdr *trh, struct net_device *dev)
370 if(entry==NULL) 367 if(entry==NULL)
371 { 368 {
372#if TR_SR_DEBUG 369#if TR_SR_DEBUG
373 DECLARE_MAC_BUF(mac); 370 printk("adding rif_entry: addr:%pM rcf:%04X\n",
374 printk("adding rif_entry: addr:%s rcf:%04X\n", 371 trh->saddr, ntohs(trh->rcf));
375 print_mac(mac, trh->saddr), ntohs(trh->rcf));
376#endif 372#endif
377 /* 373 /*
378 * Allocate our new entry. A failure to allocate loses 374 * Allocate our new entry. A failure to allocate loses
@@ -417,11 +413,8 @@ static void tr_add_rif_info(struct trh_hdr *trh, struct net_device *dev)
417 !(trh->rcf & htons(TR_RCF_BROADCAST_MASK))) 413 !(trh->rcf & htons(TR_RCF_BROADCAST_MASK)))
418 { 414 {
419#if TR_SR_DEBUG 415#if TR_SR_DEBUG
420{ 416printk("updating rif_entry: addr:%pM rcf:%04X\n",
421DECLARE_MAC_BUF(mac); 417 trh->saddr, ntohs(trh->rcf));
422printk("updating rif_entry: addr:%s rcf:%04X\n",
423 print_mac(mac, trh->saddr), ntohs(trh->rcf));
424}
425#endif 418#endif
426 entry->rcf = trh->rcf & htons((unsigned short)~TR_RCF_BROADCAST_MASK); 419 entry->rcf = trh->rcf & htons((unsigned short)~TR_RCF_BROADCAST_MASK);
427 memcpy(&(entry->rseg[0]),&(trh->rseg[0]),8*sizeof(unsigned short)); 420 memcpy(&(entry->rseg[0]),&(trh->rseg[0]),8*sizeof(unsigned short));
@@ -532,7 +525,6 @@ static int rif_seq_show(struct seq_file *seq, void *v)
532{ 525{
533 int j, rcf_len, segment, brdgnmb; 526 int j, rcf_len, segment, brdgnmb;
534 struct rif_cache *entry = v; 527 struct rif_cache *entry = v;
535 DECLARE_MAC_BUF(mac);
536 528
537 if (v == SEQ_START_TOKEN) 529 if (v == SEQ_START_TOKEN)
538 seq_puts(seq, 530 seq_puts(seq,
@@ -542,9 +534,9 @@ static int rif_seq_show(struct seq_file *seq, void *v)
542 long ttl = (long) (entry->last_used + sysctl_tr_rif_timeout) 534 long ttl = (long) (entry->last_used + sysctl_tr_rif_timeout)
543 - (long) jiffies; 535 - (long) jiffies;
544 536
545 seq_printf(seq, "%s %s %7li ", 537 seq_printf(seq, "%s %pM %7li ",
546 dev?dev->name:"?", 538 dev?dev->name:"?",
547 print_mac(mac, entry->addr), 539 entry->addr,
548 ttl/HZ); 540 ttl/HZ);
549 541
550 if (entry->local_ring) 542 if (entry->local_ring)
diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
index b25c1e909d14..b03ff58e9308 100644
--- a/net/appletalk/aarp.c
+++ b/net/appletalk/aarp.c
@@ -995,7 +995,6 @@ static int aarp_seq_show(struct seq_file *seq, void *v)
995 struct aarp_iter_state *iter = seq->private; 995 struct aarp_iter_state *iter = seq->private;
996 struct aarp_entry *entry = v; 996 struct aarp_entry *entry = v;
997 unsigned long now = jiffies; 997 unsigned long now = jiffies;
998 DECLARE_MAC_BUF(mac);
999 998
1000 if (v == SEQ_START_TOKEN) 999 if (v == SEQ_START_TOKEN)
1001 seq_puts(seq, 1000 seq_puts(seq,
@@ -1006,7 +1005,7 @@ static int aarp_seq_show(struct seq_file *seq, void *v)
1006 ntohs(entry->target_addr.s_net), 1005 ntohs(entry->target_addr.s_net),
1007 (unsigned int) entry->target_addr.s_node, 1006 (unsigned int) entry->target_addr.s_node,
1008 entry->dev ? entry->dev->name : "????"); 1007 entry->dev ? entry->dev->name : "????");
1009 seq_printf(seq, "%s", print_mac(mac, entry->hwaddr)); 1008 seq_printf(seq, "%pM", entry->hwaddr);
1010 seq_printf(seq, " %8s", 1009 seq_printf(seq, " %8s",
1011 dt2str((long)entry->expires_at - (long)now)); 1010 dt2str((long)entry->expires_at - (long)now));
1012 if (iter->table == unresolved) 1011 if (iter->table == unresolved)
diff --git a/net/atm/br2684.c b/net/atm/br2684.c
index 280de481edc7..29ef8dc6921b 100644
--- a/net/atm/br2684.c
+++ b/net/atm/br2684.c
@@ -698,12 +698,11 @@ static int br2684_seq_show(struct seq_file *seq, void *v)
698 br2684_devs); 698 br2684_devs);
699 const struct net_device *net_dev = brdev->net_dev; 699 const struct net_device *net_dev = brdev->net_dev;
700 const struct br2684_vcc *brvcc; 700 const struct br2684_vcc *brvcc;
701 DECLARE_MAC_BUF(mac);
702 701
703 seq_printf(seq, "dev %.16s: num=%d, mac=%s (%s)\n", 702 seq_printf(seq, "dev %.16s: num=%d, mac=%pM (%s)\n",
704 net_dev->name, 703 net_dev->name,
705 brdev->number, 704 brdev->number,
706 print_mac(mac, net_dev->dev_addr), 705 net_dev->dev_addr,
707 brdev->mac_was_set ? "set" : "auto"); 706 brdev->mac_was_set ? "set" : "auto");
708 707
709 list_for_each_entry(brvcc, &brdev->brvccs, brvccs) { 708 list_for_each_entry(brvcc, &brdev->brvccs, brvccs) {
diff --git a/net/atm/lec.c b/net/atm/lec.c
index 8f701cde5945..1def62d17739 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -373,19 +373,13 @@ static int lec_start_xmit(struct sk_buff *skb, struct net_device *dev)
373 if (entry && (entry->tx_wait.qlen < LEC_UNRES_QUE_LEN)) { 373 if (entry && (entry->tx_wait.qlen < LEC_UNRES_QUE_LEN)) {
374 pr_debug("%s:lec_start_xmit: queuing packet, ", 374 pr_debug("%s:lec_start_xmit: queuing packet, ",
375 dev->name); 375 dev->name);
376 pr_debug("MAC address " MAC_FMT "\n", 376 pr_debug("MAC address %pM\n", lec_h->h_dest);
377 lec_h->h_dest[0], lec_h->h_dest[1],
378 lec_h->h_dest[2], lec_h->h_dest[3],
379 lec_h->h_dest[4], lec_h->h_dest[5]);
380 skb_queue_tail(&entry->tx_wait, skb); 377 skb_queue_tail(&entry->tx_wait, skb);
381 } else { 378 } else {
382 pr_debug 379 pr_debug
383 ("%s:lec_start_xmit: tx queue full or no arp entry, dropping, ", 380 ("%s:lec_start_xmit: tx queue full or no arp entry, dropping, ",
384 dev->name); 381 dev->name);
385 pr_debug("MAC address " MAC_FMT "\n", 382 pr_debug("MAC address %pM\n", lec_h->h_dest);
386 lec_h->h_dest[0], lec_h->h_dest[1],
387 lec_h->h_dest[2], lec_h->h_dest[3],
388 lec_h->h_dest[4], lec_h->h_dest[5]);
389 priv->stats.tx_dropped++; 383 priv->stats.tx_dropped++;
390 dev_kfree_skb(skb); 384 dev_kfree_skb(skb);
391 } 385 }
@@ -397,10 +391,7 @@ static int lec_start_xmit(struct sk_buff *skb, struct net_device *dev)
397 391
398 while (entry && (skb2 = skb_dequeue(&entry->tx_wait))) { 392 while (entry && (skb2 = skb_dequeue(&entry->tx_wait))) {
399 pr_debug("lec.c: emptying tx queue, "); 393 pr_debug("lec.c: emptying tx queue, ");
400 pr_debug("MAC address " MAC_FMT "\n", 394 pr_debug("MAC address %pM\n", lec_h->h_dest);
401 lec_h->h_dest[0], lec_h->h_dest[1],
402 lec_h->h_dest[2], lec_h->h_dest[3],
403 lec_h->h_dest[4], lec_h->h_dest[5]);
404 lec_send(vcc, skb2, priv); 395 lec_send(vcc, skb2, priv);
405 } 396 }
406 397
@@ -539,15 +530,8 @@ static int lec_atm_send(struct atm_vcc *vcc, struct sk_buff *skb)
539 { 530 {
540 struct net_bridge_fdb_entry *f; 531 struct net_bridge_fdb_entry *f;
541 532
542 pr_debug 533 pr_debug("%s: bridge zeppelin asks about %pM\n",
543 ("%s: bridge zeppelin asks about " MAC_FMT "\n", 534 dev->name, mesg->content.proxy.mac_addr);
544 dev->name,
545 mesg->content.proxy.mac_addr[0],
546 mesg->content.proxy.mac_addr[1],
547 mesg->content.proxy.mac_addr[2],
548 mesg->content.proxy.mac_addr[3],
549 mesg->content.proxy.mac_addr[4],
550 mesg->content.proxy.mac_addr[5]);
551 535
552 if (br_fdb_get_hook == NULL || dev->br_port == NULL) 536 if (br_fdb_get_hook == NULL || dev->br_port == NULL)
553 break; 537 break;
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 6c7af390be0a..34f5d072f168 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -553,7 +553,6 @@ out:
553 553
554void netpoll_print_options(struct netpoll *np) 554void netpoll_print_options(struct netpoll *np)
555{ 555{
556 DECLARE_MAC_BUF(mac);
557 printk(KERN_INFO "%s: local port %d\n", 556 printk(KERN_INFO "%s: local port %d\n",
558 np->name, np->local_port); 557 np->name, np->local_port);
559 printk(KERN_INFO "%s: local IP %d.%d.%d.%d\n", 558 printk(KERN_INFO "%s: local IP %d.%d.%d.%d\n",
@@ -564,8 +563,8 @@ void netpoll_print_options(struct netpoll *np)
564 np->name, np->remote_port); 563 np->name, np->remote_port);
565 printk(KERN_INFO "%s: remote IP %d.%d.%d.%d\n", 564 printk(KERN_INFO "%s: remote IP %d.%d.%d.%d\n",
566 np->name, HIPQUAD(np->remote_ip)); 565 np->name, HIPQUAD(np->remote_ip));
567 printk(KERN_INFO "%s: remote ethernet address %s\n", 566 printk(KERN_INFO "%s: remote ethernet address %pM\n",
568 np->name, print_mac(mac, np->remote_mac)); 567 np->name, np->remote_mac);
569} 568}
570 569
571int netpoll_parse_options(struct netpoll *np, char *opt) 570int netpoll_parse_options(struct netpoll *np, char *opt)
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 99f656d35b4f..18dd83c2ead0 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -509,7 +509,6 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
509 __u64 sa; 509 __u64 sa;
510 __u64 stopped; 510 __u64 stopped;
511 __u64 now = getCurUs(); 511 __u64 now = getCurUs();
512 DECLARE_MAC_BUF(mac);
513 512
514 seq_printf(seq, 513 seq_printf(seq,
515 "Params: count %llu min_pkt_size: %u max_pkt_size: %u\n", 514 "Params: count %llu min_pkt_size: %u max_pkt_size: %u\n",
@@ -554,12 +553,12 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
554 553
555 seq_puts(seq, " src_mac: "); 554 seq_puts(seq, " src_mac: ");
556 555
557 seq_printf(seq, "%s ", 556 seq_printf(seq, "%pM ",
558 print_mac(mac, is_zero_ether_addr(pkt_dev->src_mac) ? 557 is_zero_ether_addr(pkt_dev->src_mac) ?
559 pkt_dev->odev->dev_addr : pkt_dev->src_mac)); 558 pkt_dev->odev->dev_addr : pkt_dev->src_mac);
560 559
561 seq_printf(seq, "dst_mac: "); 560 seq_printf(seq, "dst_mac: ");
562 seq_printf(seq, "%s\n", print_mac(mac, pkt_dev->dst_mac)); 561 seq_printf(seq, "%pM\n", pkt_dev->dst_mac);
563 562
564 seq_printf(seq, 563 seq_printf(seq,
565 " udp_src_min: %d udp_src_max: %d udp_dst_min: %d udp_dst_max: %d\n", 564 " udp_src_min: %d udp_src_max: %d udp_dst_min: %d udp_dst_max: %d\n",
diff --git a/net/ieee80211/ieee80211_crypt_ccmp.c b/net/ieee80211/ieee80211_crypt_ccmp.c
index 208bf35b5546..bea04af0b482 100644
--- a/net/ieee80211/ieee80211_crypt_ccmp.c
+++ b/net/ieee80211/ieee80211_crypt_ccmp.c
@@ -296,7 +296,6 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
296 int i, blocks, last, len; 296 int i, blocks, last, len;
297 size_t data_len = skb->len - hdr_len - CCMP_HDR_LEN - CCMP_MIC_LEN; 297 size_t data_len = skb->len - hdr_len - CCMP_HDR_LEN - CCMP_MIC_LEN;
298 u8 *mic = skb->data + skb->len - CCMP_MIC_LEN; 298 u8 *mic = skb->data + skb->len - CCMP_MIC_LEN;
299 DECLARE_MAC_BUF(mac);
300 299
301 if (skb->len < hdr_len + CCMP_HDR_LEN + CCMP_MIC_LEN) { 300 if (skb->len < hdr_len + CCMP_HDR_LEN + CCMP_MIC_LEN) {
302 key->dot11RSNAStatsCCMPFormatErrors++; 301 key->dot11RSNAStatsCCMPFormatErrors++;
@@ -309,7 +308,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
309 if (!(keyidx & (1 << 5))) { 308 if (!(keyidx & (1 << 5))) {
310 if (net_ratelimit()) { 309 if (net_ratelimit()) {
311 printk(KERN_DEBUG "CCMP: received packet without ExtIV" 310 printk(KERN_DEBUG "CCMP: received packet without ExtIV"
312 " flag from %s\n", print_mac(mac, hdr->addr2)); 311 " flag from %pM\n", hdr->addr2);
313 } 312 }
314 key->dot11RSNAStatsCCMPFormatErrors++; 313 key->dot11RSNAStatsCCMPFormatErrors++;
315 return -2; 314 return -2;
@@ -322,9 +321,9 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
322 } 321 }
323 if (!key->key_set) { 322 if (!key->key_set) {
324 if (net_ratelimit()) { 323 if (net_ratelimit()) {
325 printk(KERN_DEBUG "CCMP: received packet from %s" 324 printk(KERN_DEBUG "CCMP: received packet from %pM"
326 " with keyid=%d that does not have a configured" 325 " with keyid=%d that does not have a configured"
327 " key\n", print_mac(mac, hdr->addr2), keyidx); 326 " key\n", hdr->addr2, keyidx);
328 } 327 }
329 return -3; 328 return -3;
330 } 329 }
@@ -339,10 +338,10 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
339 338
340 if (ccmp_replay_check(pn, key->rx_pn)) { 339 if (ccmp_replay_check(pn, key->rx_pn)) {
341 if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) { 340 if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
342 IEEE80211_DEBUG_DROP("CCMP: replay detected: STA=%s " 341 IEEE80211_DEBUG_DROP("CCMP: replay detected: STA=%pM "
343 "previous PN %02x%02x%02x%02x%02x%02x " 342 "previous PN %02x%02x%02x%02x%02x%02x "
344 "received PN %02x%02x%02x%02x%02x%02x\n", 343 "received PN %02x%02x%02x%02x%02x%02x\n",
345 print_mac(mac, hdr->addr2), 344 hdr->addr2,
346 key->rx_pn[0], key->rx_pn[1], key->rx_pn[2], 345 key->rx_pn[0], key->rx_pn[1], key->rx_pn[2],
347 key->rx_pn[3], key->rx_pn[4], key->rx_pn[5], 346 key->rx_pn[3], key->rx_pn[4], key->rx_pn[5],
348 pn[0], pn[1], pn[2], pn[3], pn[4], pn[5]); 347 pn[0], pn[1], pn[2], pn[3], pn[4], pn[5]);
@@ -373,7 +372,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
373 if (memcmp(mic, a, CCMP_MIC_LEN) != 0) { 372 if (memcmp(mic, a, CCMP_MIC_LEN) != 0) {
374 if (net_ratelimit()) { 373 if (net_ratelimit()) {
375 printk(KERN_DEBUG "CCMP: decrypt failed: STA=" 374 printk(KERN_DEBUG "CCMP: decrypt failed: STA="
376 "%s\n", print_mac(mac, hdr->addr2)); 375 "%pM\n", hdr->addr2);
377 } 376 }
378 key->dot11RSNAStatsCCMPDecryptErrors++; 377 key->dot11RSNAStatsCCMPDecryptErrors++;
379 return -5; 378 return -5;
diff --git a/net/ieee80211/ieee80211_crypt_tkip.c b/net/ieee80211/ieee80211_crypt_tkip.c
index bba0152e2d71..d12da1da6328 100644
--- a/net/ieee80211/ieee80211_crypt_tkip.c
+++ b/net/ieee80211/ieee80211_crypt_tkip.c
@@ -359,15 +359,13 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
359 u8 rc4key[16], *pos, *icv; 359 u8 rc4key[16], *pos, *icv;
360 u32 crc; 360 u32 crc;
361 struct scatterlist sg; 361 struct scatterlist sg;
362 DECLARE_MAC_BUF(mac);
363 362
364 if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) { 363 if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) {
365 if (net_ratelimit()) { 364 if (net_ratelimit()) {
366 struct ieee80211_hdr_4addr *hdr = 365 struct ieee80211_hdr_4addr *hdr =
367 (struct ieee80211_hdr_4addr *)skb->data; 366 (struct ieee80211_hdr_4addr *)skb->data;
368 printk(KERN_DEBUG ": TKIP countermeasures: dropped " 367 printk(KERN_DEBUG ": TKIP countermeasures: dropped "
369 "TX packet to %s\n", 368 "TX packet to %pM\n", hdr->addr1);
370 print_mac(mac, hdr->addr1));
371 } 369 }
372 return -1; 370 return -1;
373 } 371 }
@@ -420,15 +418,13 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
420 u32 crc; 418 u32 crc;
421 struct scatterlist sg; 419 struct scatterlist sg;
422 int plen; 420 int plen;
423 DECLARE_MAC_BUF(mac);
424 421
425 hdr = (struct ieee80211_hdr_4addr *)skb->data; 422 hdr = (struct ieee80211_hdr_4addr *)skb->data;
426 423
427 if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) { 424 if (tkey->flags & IEEE80211_CRYPTO_TKIP_COUNTERMEASURES) {
428 if (net_ratelimit()) { 425 if (net_ratelimit()) {
429 printk(KERN_DEBUG ": TKIP countermeasures: dropped " 426 printk(KERN_DEBUG ": TKIP countermeasures: dropped "
430 "received packet from %s\n", 427 "received packet from %pM\n", hdr->addr2);
431 print_mac(mac, hdr->addr2));
432 } 428 }
433 return -1; 429 return -1;
434 } 430 }
@@ -441,7 +437,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
441 if (!(keyidx & (1 << 5))) { 437 if (!(keyidx & (1 << 5))) {
442 if (net_ratelimit()) { 438 if (net_ratelimit()) {
443 printk(KERN_DEBUG "TKIP: received packet without ExtIV" 439 printk(KERN_DEBUG "TKIP: received packet without ExtIV"
444 " flag from %s\n", print_mac(mac, hdr->addr2)); 440 " flag from %pM\n", hdr->addr2);
445 } 441 }
446 return -2; 442 return -2;
447 } 443 }
@@ -453,9 +449,9 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
453 } 449 }
454 if (!tkey->key_set) { 450 if (!tkey->key_set) {
455 if (net_ratelimit()) { 451 if (net_ratelimit()) {
456 printk(KERN_DEBUG "TKIP: received packet from %s" 452 printk(KERN_DEBUG "TKIP: received packet from %pM"
457 " with keyid=%d that does not have a configured" 453 " with keyid=%d that does not have a configured"
458 " key\n", print_mac(mac, hdr->addr2), keyidx); 454 " key\n", hdr->addr2, keyidx);
459 } 455 }
460 return -3; 456 return -3;
461 } 457 }
@@ -465,9 +461,9 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
465 461
466 if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) { 462 if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
467 if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) { 463 if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
468 IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%s" 464 IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%pM"
469 " previous TSC %08x%04x received TSC " 465 " previous TSC %08x%04x received TSC "
470 "%08x%04x\n", print_mac(mac, hdr->addr2), 466 "%08x%04x\n", hdr->addr2,
471 tkey->rx_iv32, tkey->rx_iv16, iv32, iv16); 467 tkey->rx_iv32, tkey->rx_iv16, iv32, iv16);
472 } 468 }
473 tkey->dot11RSNAStatsTKIPReplays++; 469 tkey->dot11RSNAStatsTKIPReplays++;
@@ -487,8 +483,8 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
487 if (crypto_blkcipher_decrypt(&desc, &sg, &sg, plen + 4)) { 483 if (crypto_blkcipher_decrypt(&desc, &sg, &sg, plen + 4)) {
488 if (net_ratelimit()) { 484 if (net_ratelimit()) {
489 printk(KERN_DEBUG ": TKIP: failed to decrypt " 485 printk(KERN_DEBUG ": TKIP: failed to decrypt "
490 "received packet from %s\n", 486 "received packet from %pM\n",
491 print_mac(mac, hdr->addr2)); 487 hdr->addr2);
492 } 488 }
493 return -7; 489 return -7;
494 } 490 }
@@ -506,7 +502,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
506 } 502 }
507 if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) { 503 if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
508 IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA=" 504 IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA="
509 "%s\n", print_mac(mac, hdr->addr2)); 505 "%pM\n", hdr->addr2);
510 } 506 }
511 tkey->dot11RSNAStatsTKIPICVErrors++; 507 tkey->dot11RSNAStatsTKIPICVErrors++;
512 return -5; 508 return -5;
@@ -633,7 +629,6 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
633{ 629{
634 struct ieee80211_tkip_data *tkey = priv; 630 struct ieee80211_tkip_data *tkey = priv;
635 u8 mic[8]; 631 u8 mic[8];
636 DECLARE_MAC_BUF(mac);
637 632
638 if (!tkey->key_set) 633 if (!tkey->key_set)
639 return -1; 634 return -1;
@@ -646,8 +641,8 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
646 struct ieee80211_hdr_4addr *hdr; 641 struct ieee80211_hdr_4addr *hdr;
647 hdr = (struct ieee80211_hdr_4addr *)skb->data; 642 hdr = (struct ieee80211_hdr_4addr *)skb->data;
648 printk(KERN_DEBUG "%s: Michael MIC verification failed for " 643 printk(KERN_DEBUG "%s: Michael MIC verification failed for "
649 "MSDU from %s keyidx=%d\n", 644 "MSDU from %pM keyidx=%d\n",
650 skb->dev ? skb->dev->name : "N/A", print_mac(mac, hdr->addr2), 645 skb->dev ? skb->dev->name : "N/A", hdr->addr2,
651 keyidx); 646 keyidx);
652 if (skb->dev) 647 if (skb->dev)
653 ieee80211_michael_mic_failure(skb->dev, hdr, keyidx); 648 ieee80211_michael_mic_failure(skb->dev, hdr, keyidx);
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index 69dbc342a464..281223e41c58 100644
--- a/net/ieee80211/ieee80211_rx.c
+++ b/net/ieee80211/ieee80211_rx.c
@@ -282,12 +282,8 @@ ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb,
282 res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv); 282 res = crypt->ops->decrypt_mpdu(skb, hdrlen, crypt->priv);
283 atomic_dec(&crypt->refcnt); 283 atomic_dec(&crypt->refcnt);
284 if (res < 0) { 284 if (res < 0) {
285 IEEE80211_DEBUG_DROP("decryption failed (SA=" MAC_FMT 285 IEEE80211_DEBUG_DROP("decryption failed (SA=%pM) res=%d\n",
286 ") res=%d\n", 286 hdr->addr2, res);
287 hdr->addr2[0], hdr->addr2[1],
288 hdr->addr2[2], hdr->addr2[3],
289 hdr->addr2[4], hdr->addr2[5],
290 res);
291 if (res == -2) 287 if (res == -2)
292 IEEE80211_DEBUG_DROP("Decryption failed ICV " 288 IEEE80211_DEBUG_DROP("Decryption failed ICV "
293 "mismatch (key %d)\n", 289 "mismatch (key %d)\n",
@@ -319,11 +315,7 @@ ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee,
319 atomic_dec(&crypt->refcnt); 315 atomic_dec(&crypt->refcnt);
320 if (res < 0) { 316 if (res < 0) {
321 printk(KERN_DEBUG "%s: MSDU decryption/MIC verification failed" 317 printk(KERN_DEBUG "%s: MSDU decryption/MIC verification failed"
322 " (SA=" MAC_FMT " keyidx=%d)\n", 318 " (SA=%pM keyidx=%d)\n", ieee->dev->name, hdr->addr2,
323 ieee->dev->name,
324 hdr->addr2[0], hdr->addr2[1],
325 hdr->addr2[2], hdr->addr2[3],
326 hdr->addr2[4], hdr->addr2[5],
327 keyidx); 319 keyidx);
328 return -1; 320 return -1;
329 } 321 }
@@ -358,7 +350,6 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
358 struct ieee80211_crypt_data *crypt = NULL; 350 struct ieee80211_crypt_data *crypt = NULL;
359 int keyidx = 0; 351 int keyidx = 0;
360 int can_be_decrypted = 0; 352 int can_be_decrypted = 0;
361 DECLARE_MAC_BUF(mac);
362 353
363 hdr = (struct ieee80211_hdr_4addr *)skb->data; 354 hdr = (struct ieee80211_hdr_4addr *)skb->data;
364 stats = &ieee->stats; 355 stats = &ieee->stats;
@@ -468,10 +459,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
468 * frames silently instead of filling system log with 459 * frames silently instead of filling system log with
469 * these reports. */ 460 * these reports. */
470 IEEE80211_DEBUG_DROP("Decryption failed (not set)" 461 IEEE80211_DEBUG_DROP("Decryption failed (not set)"
471 " (SA=" MAC_FMT ")\n", 462 " (SA=%pM)\n", hdr->addr2);
472 hdr->addr2[0], hdr->addr2[1],
473 hdr->addr2[2], hdr->addr2[3],
474 hdr->addr2[4], hdr->addr2[5]);
475 ieee->ieee_stats.rx_discards_undecryptable++; 463 ieee->ieee_stats.rx_discards_undecryptable++;
476 goto rx_dropped; 464 goto rx_dropped;
477 } 465 }
@@ -482,10 +470,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
482 fc & IEEE80211_FCTL_PROTECTED && ieee->host_decrypt && 470 fc & IEEE80211_FCTL_PROTECTED && ieee->host_decrypt &&
483 (keyidx = hostap_rx_frame_decrypt(ieee, skb, crypt)) < 0) { 471 (keyidx = hostap_rx_frame_decrypt(ieee, skb, crypt)) < 0) {
484 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth " 472 printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth "
485 "from " MAC_FMT "\n", dev->name, 473 "from %pM\n", dev->name, hdr->addr2);
486 hdr->addr2[0], hdr->addr2[1],
487 hdr->addr2[2], hdr->addr2[3],
488 hdr->addr2[4], hdr->addr2[5]);
489 /* TODO: could inform hostapd about this so that it 474 /* TODO: could inform hostapd about this so that it
490 * could send auth failure report */ 475 * could send auth failure report */
491 goto rx_dropped; 476 goto rx_dropped;
@@ -663,11 +648,8 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
663 * configured */ 648 * configured */
664 } else { 649 } else {
665 IEEE80211_DEBUG_DROP("encryption configured, but RX " 650 IEEE80211_DEBUG_DROP("encryption configured, but RX "
666 "frame not encrypted (SA=" 651 "frame not encrypted (SA=%pM)\n",
667 MAC_FMT ")\n", 652 hdr->addr2);
668 hdr->addr2[0], hdr->addr2[1],
669 hdr->addr2[2], hdr->addr2[3],
670 hdr->addr2[4], hdr->addr2[5]);
671 goto rx_dropped; 653 goto rx_dropped;
672 } 654 }
673 } 655 }
@@ -675,11 +657,8 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
675 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep && 657 if (crypt && !(fc & IEEE80211_FCTL_PROTECTED) && !ieee->open_wep &&
676 !ieee80211_is_eapol_frame(ieee, skb)) { 658 !ieee80211_is_eapol_frame(ieee, skb)) {
677 IEEE80211_DEBUG_DROP("dropped unencrypted RX data " 659 IEEE80211_DEBUG_DROP("dropped unencrypted RX data "
678 "frame from " MAC_FMT 660 "frame from %pM (drop_unencrypted=1)\n",
679 " (drop_unencrypted=1)\n", 661 hdr->addr2);
680 hdr->addr2[0], hdr->addr2[1],
681 hdr->addr2[2], hdr->addr2[3],
682 hdr->addr2[4], hdr->addr2[5]);
683 goto rx_dropped; 662 goto rx_dropped;
684 } 663 }
685 664
@@ -1429,8 +1408,6 @@ static int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee8021
1429 struct ieee80211_network *network, 1408 struct ieee80211_network *network,
1430 struct ieee80211_rx_stats *stats) 1409 struct ieee80211_rx_stats *stats)
1431{ 1410{
1432 DECLARE_MAC_BUF(mac);
1433
1434 network->qos_data.active = 0; 1411 network->qos_data.active = 0;
1435 network->qos_data.supported = 0; 1412 network->qos_data.supported = 0;
1436 network->qos_data.param_count = 0; 1413 network->qos_data.param_count = 0;
@@ -1477,11 +1454,11 @@ static int ieee80211_network_init(struct ieee80211_device *ieee, struct ieee8021
1477 } 1454 }
1478 1455
1479 if (network->mode == 0) { 1456 if (network->mode == 0) {
1480 IEEE80211_DEBUG_SCAN("Filtered out '%s (%s)' " 1457 IEEE80211_DEBUG_SCAN("Filtered out '%s (%pM)' "
1481 "network.\n", 1458 "network.\n",
1482 escape_essid(network->ssid, 1459 escape_essid(network->ssid,
1483 network->ssid_len), 1460 network->ssid_len),
1484 print_mac(mac, network->bssid)); 1461 network->bssid);
1485 return 1; 1462 return 1;
1486 } 1463 }
1487 1464
@@ -1510,7 +1487,6 @@ static void update_network(struct ieee80211_network *dst,
1510{ 1487{
1511 int qos_active; 1488 int qos_active;
1512 u8 old_param; 1489 u8 old_param;
1513 DECLARE_MAC_BUF(mac);
1514 1490
1515 ieee80211_network_reset(dst); 1491 ieee80211_network_reset(dst);
1516 dst->ibss_dfs = src->ibss_dfs; 1492 dst->ibss_dfs = src->ibss_dfs;
@@ -1524,8 +1500,8 @@ static void update_network(struct ieee80211_network *dst,
1524 memcpy(&dst->stats, &src->stats, 1500 memcpy(&dst->stats, &src->stats,
1525 sizeof(struct ieee80211_rx_stats)); 1501 sizeof(struct ieee80211_rx_stats));
1526 else 1502 else
1527 IEEE80211_DEBUG_SCAN("Network %s info received " 1503 IEEE80211_DEBUG_SCAN("Network %pM info received "
1528 "off channel (%d vs. %d)\n", print_mac(mac, src->bssid), 1504 "off channel (%d vs. %d)\n", src->bssid,
1529 dst->channel, src->stats.received_channel); 1505 dst->channel, src->stats.received_channel);
1530 1506
1531 dst->capability = src->capability; 1507 dst->capability = src->capability;
@@ -1597,12 +1573,11 @@ static void ieee80211_process_probe_response(struct ieee80211_device
1597 struct ieee80211_info_element *info_element = beacon->info_element; 1573 struct ieee80211_info_element *info_element = beacon->info_element;
1598#endif 1574#endif
1599 unsigned long flags; 1575 unsigned long flags;
1600 DECLARE_MAC_BUF(mac);
1601 1576
1602 IEEE80211_DEBUG_SCAN("'%s' (%s" 1577 IEEE80211_DEBUG_SCAN("'%s' (%pM"
1603 "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n", 1578 "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n",
1604 escape_essid(info_element->data, info_element->len), 1579 escape_essid(info_element->data, info_element->len),
1605 print_mac(mac, beacon->header.addr3), 1580 beacon->header.addr3,
1606 (beacon->capability & cpu_to_le16(1 << 0xf)) ? '1' : '0', 1581 (beacon->capability & cpu_to_le16(1 << 0xf)) ? '1' : '0',
1607 (beacon->capability & cpu_to_le16(1 << 0xe)) ? '1' : '0', 1582 (beacon->capability & cpu_to_le16(1 << 0xe)) ? '1' : '0',
1608 (beacon->capability & cpu_to_le16(1 << 0xd)) ? '1' : '0', 1583 (beacon->capability & cpu_to_le16(1 << 0xd)) ? '1' : '0',
@@ -1621,10 +1596,10 @@ static void ieee80211_process_probe_response(struct ieee80211_device
1621 (beacon->capability & cpu_to_le16(1 << 0x0)) ? '1' : '0'); 1596 (beacon->capability & cpu_to_le16(1 << 0x0)) ? '1' : '0');
1622 1597
1623 if (ieee80211_network_init(ieee, beacon, &network, stats)) { 1598 if (ieee80211_network_init(ieee, beacon, &network, stats)) {
1624 IEEE80211_DEBUG_SCAN("Dropped '%s' (%s) via %s.\n", 1599 IEEE80211_DEBUG_SCAN("Dropped '%s' (%pM) via %s.\n",
1625 escape_essid(info_element->data, 1600 escape_essid(info_element->data,
1626 info_element->len), 1601 info_element->len),
1627 print_mac(mac, beacon->header.addr3), 1602 beacon->header.addr3,
1628 is_beacon(beacon->header.frame_ctl) ? 1603 is_beacon(beacon->header.frame_ctl) ?
1629 "BEACON" : "PROBE RESPONSE"); 1604 "BEACON" : "PROBE RESPONSE");
1630 return; 1605 return;
@@ -1658,11 +1633,11 @@ static void ieee80211_process_probe_response(struct ieee80211_device
1658 /* If there are no more slots, expire the oldest */ 1633 /* If there are no more slots, expire the oldest */
1659 list_del(&oldest->list); 1634 list_del(&oldest->list);
1660 target = oldest; 1635 target = oldest;
1661 IEEE80211_DEBUG_SCAN("Expired '%s' (%s) from " 1636 IEEE80211_DEBUG_SCAN("Expired '%s' (%pM) from "
1662 "network list.\n", 1637 "network list.\n",
1663 escape_essid(target->ssid, 1638 escape_essid(target->ssid,
1664 target->ssid_len), 1639 target->ssid_len),
1665 print_mac(mac, target->bssid)); 1640 target->bssid);
1666 ieee80211_network_reset(target); 1641 ieee80211_network_reset(target);
1667 } else { 1642 } else {
1668 /* Otherwise just pull from the free list */ 1643 /* Otherwise just pull from the free list */
@@ -1672,10 +1647,10 @@ static void ieee80211_process_probe_response(struct ieee80211_device
1672 } 1647 }
1673 1648
1674#ifdef CONFIG_IEEE80211_DEBUG 1649#ifdef CONFIG_IEEE80211_DEBUG
1675 IEEE80211_DEBUG_SCAN("Adding '%s' (%s) via %s.\n", 1650 IEEE80211_DEBUG_SCAN("Adding '%s' (%pM) via %s.\n",
1676 escape_essid(network.ssid, 1651 escape_essid(network.ssid,
1677 network.ssid_len), 1652 network.ssid_len),
1678 print_mac(mac, network.bssid), 1653 network.bssid,
1679 is_beacon(beacon->header.frame_ctl) ? 1654 is_beacon(beacon->header.frame_ctl) ?
1680 "BEACON" : "PROBE RESPONSE"); 1655 "BEACON" : "PROBE RESPONSE");
1681#endif 1656#endif
@@ -1683,10 +1658,10 @@ static void ieee80211_process_probe_response(struct ieee80211_device
1683 network.ibss_dfs = NULL; 1658 network.ibss_dfs = NULL;
1684 list_add_tail(&target->list, &ieee->network_list); 1659 list_add_tail(&target->list, &ieee->network_list);
1685 } else { 1660 } else {
1686 IEEE80211_DEBUG_SCAN("Updating '%s' (%s) via %s.\n", 1661 IEEE80211_DEBUG_SCAN("Updating '%s' (%pM) via %s.\n",
1687 escape_essid(target->ssid, 1662 escape_essid(target->ssid,
1688 target->ssid_len), 1663 target->ssid_len),
1689 print_mac(mac, target->bssid), 1664 target->bssid,
1690 is_beacon(beacon->header.frame_ctl) ? 1665 is_beacon(beacon->header.frame_ctl) ?
1691 "BEACON" : "PROBE RESPONSE"); 1666 "BEACON" : "PROBE RESPONSE");
1692 update_network(target, &network); 1667 update_network(target, &network);
diff --git a/net/ieee80211/ieee80211_wx.c b/net/ieee80211/ieee80211_wx.c
index 973832dd7faf..89a81062ab4b 100644
--- a/net/ieee80211/ieee80211_wx.c
+++ b/net/ieee80211/ieee80211_wx.c
@@ -264,7 +264,6 @@ int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
264 char *ev = extra; 264 char *ev = extra;
265 char *stop = ev + wrqu->data.length; 265 char *stop = ev + wrqu->data.length;
266 int i = 0; 266 int i = 0;
267 DECLARE_MAC_BUF(mac);
268 267
269 IEEE80211_DEBUG_WX("Getting scan\n"); 268 IEEE80211_DEBUG_WX("Getting scan\n");
270 269
@@ -283,10 +282,10 @@ int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
283 info); 282 info);
284 else 283 else
285 IEEE80211_DEBUG_SCAN("Not showing network '%s (" 284 IEEE80211_DEBUG_SCAN("Not showing network '%s ("
286 "%s)' due to age (%dms).\n", 285 "%pM)' due to age (%dms).\n",
287 escape_essid(network->ssid, 286 escape_essid(network->ssid,
288 network->ssid_len), 287 network->ssid_len),
289 print_mac(mac, network->bssid), 288 network->bssid,
290 jiffies_to_msecs(jiffies - 289 jiffies_to_msecs(jiffies -
291 network-> 290 network->
292 last_scanned)); 291 last_scanned));
diff --git a/net/irda/irlan/irlan_client.c b/net/irda/irlan/irlan_client.c
index 6be1ec26b30c..42f7d960d055 100644
--- a/net/irda/irlan/irlan_client.c
+++ b/net/irda/irlan/irlan_client.c
@@ -436,7 +436,6 @@ static void irlan_check_response_param(struct irlan_cb *self, char *param,
436 __u16 tmp_cpu; /* Temporary value in host order */ 436 __u16 tmp_cpu; /* Temporary value in host order */
437 __u8 *bytes; 437 __u8 *bytes;
438 int i; 438 int i;
439 DECLARE_MAC_BUF(mac);
440 439
441 IRDA_DEBUG(4, "%s(), parm=%s\n", __func__ , param); 440 IRDA_DEBUG(4, "%s(), parm=%s\n", __func__ , param);
442 441
@@ -521,8 +520,7 @@ static void irlan_check_response_param(struct irlan_cb *self, char *param,
521 /* FILTER_ENTRY, have we got an ethernet address? */ 520 /* FILTER_ENTRY, have we got an ethernet address? */
522 if (strcmp(param, "FILTER_ENTRY") == 0) { 521 if (strcmp(param, "FILTER_ENTRY") == 0) {
523 bytes = value; 522 bytes = value;
524 IRDA_DEBUG(4, "Ethernet address = %s\n", 523 IRDA_DEBUG(4, "Ethernet address = %pM\n", bytes);
525 print_mac(mac, bytes));
526 for (i = 0; i < 6; i++) 524 for (i = 0; i < 6; i++)
527 self->dev->dev_addr[i] = bytes[i]; 525 self->dev->dev_addr[i] = bytes[i];
528 } 526 }
diff --git a/net/llc/llc_proc.c b/net/llc/llc_proc.c
index 48212c0a961c..b58bd7c6cdf8 100644
--- a/net/llc/llc_proc.c
+++ b/net/llc/llc_proc.c
@@ -27,8 +27,7 @@
27 27
28static void llc_ui_format_mac(struct seq_file *seq, u8 *addr) 28static void llc_ui_format_mac(struct seq_file *seq, u8 *addr)
29{ 29{
30 DECLARE_MAC_BUF(mac); 30 seq_printf(seq, "%pM", addr);
31 seq_printf(seq, "%s", print_mac(mac, addr));
32} 31}
33 32
34static struct sock *llc_get_sk_idx(loff_t pos) 33static struct sock *llc_get_sk_idx(loff_t pos)
diff --git a/net/tipc/eth_media.c b/net/tipc/eth_media.c
index fe43ef7dd7e3..f72ba774c246 100644
--- a/net/tipc/eth_media.c
+++ b/net/tipc/eth_media.c
@@ -243,12 +243,11 @@ static int recv_notification(struct notifier_block *nb, unsigned long evt,
243static char *eth_addr2str(struct tipc_media_addr *a, char *str_buf, int str_size) 243static char *eth_addr2str(struct tipc_media_addr *a, char *str_buf, int str_size)
244{ 244{
245 unchar *addr = (unchar *)&a->dev_addr; 245 unchar *addr = (unchar *)&a->dev_addr;
246 DECLARE_MAC_BUF(mac);
247 246
248 if (str_size < 18) 247 if (str_size < 18)
249 *str_buf = '\0'; 248 *str_buf = '\0';
250 else 249 else
251 sprintf(str_buf, "%s", print_mac(mac, addr)); 250 sprintf(str_buf, "%pM", addr);
252 return str_buf; 251 return str_buf;
253} 252}
254 253