{
        size_t result;
        if (type)
-               result = scnprintf(buf, buf_size,
-                                 "%02x:%02x:%02x:%02x:%02x:%02x",
-                                 addr[0], addr[1], addr[2],
-                                 addr[3], addr[4], addr[5]);
+               result = scnprintf(buf, buf_size, "%pM", addr);
        else
                result = scnprintf(buf, buf_size, "%02x:%02x",
                                  addr[1], addr[0]);
 
        } else {
                if (printk_ratelimit())
                        dev_err(dev, "WLP: Destination neighbor (Ethernet: "
-                               "%02x:%02x:%02x:%02x:%02x:%02x, Dev: "
-                               "%02x:%02x) is not connected. \n", eth_addr[0],
-                               eth_addr[1], eth_addr[2], eth_addr[3],
-                               eth_addr[4], eth_addr[5], dev_addr->data[1],
-                               dev_addr->data[0]);
+                               "%pM, Dev: %02x:%02x) is not connected.\n",
+                               eth_addr, dev_addr->data[1], dev_addr->data[0]);
                result = -EINVAL;
        }
        return result;