OSDN Git Service

qlcnic: Fix dump_skb output
authorJoe Perches <joe@perches.com>
Sun, 4 Jan 2015 01:50:16 +0000 (17:50 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Jan 2015 03:24:30 +0000 (22:24 -0500)
Use normal facilities to avoid printing each byte
on a separate line.

Now emits at KERN_DEBUG instead of KERN_INFO.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c

index 18e5de7..d166e53 100644 (file)
@@ -10,6 +10,7 @@
 #include <net/ip.h>
 #include <linux/ipv6.h>
 #include <net/checksum.h>
+#include <linux/printk.h>
 
 #include "qlcnic.h"
 
@@ -1465,14 +1466,14 @@ void qlcnic_post_rx_buffers(struct qlcnic_adapter *adapter,
 
 static void dump_skb(struct sk_buff *skb, struct qlcnic_adapter *adapter)
 {
-       int i;
-       unsigned char *data = skb->data;
-
-       pr_info(KERN_INFO "\n");
-       for (i = 0; i < skb->len; i++) {
-               QLCDB(adapter, DRV, "%02x ", data[i]);
-               if ((i & 0x0f) == 8)
-                       pr_info(KERN_INFO "\n");
+       if (adapter->ahw->msg_enable & NETIF_MSG_DRV) {
+               char prefix[30];
+
+               scnprintf(prefix, sizeof(prefix), "%s: %s: ",
+                         dev_name(&adapter->pdev->dev), __func__);
+
+               print_hex_dump_debug(prefix, DUMP_PREFIX_NONE, 16, 1,
+                                    skb->data, skb->len, true);
        }
 }