|
@@ -2930,9 +2930,8 @@ void xgbe_dump_rx_desc(struct xgbe_prv_data *pdata, struct xgbe_ring *ring,
|
|
|
void xgbe_print_pkt(struct net_device *netdev, struct sk_buff *skb, bool tx_rx)
|
|
|
{
|
|
|
struct ethhdr *eth = (struct ethhdr *)skb->data;
|
|
|
- unsigned char *buf = skb->data;
|
|
|
unsigned char buffer[128];
|
|
|
- unsigned int i, j;
|
|
|
+ unsigned int i;
|
|
|
|
|
|
netdev_dbg(netdev, "\n************** SKB dump ****************\n");
|
|
|
|
|
@@ -2943,22 +2942,13 @@ void xgbe_print_pkt(struct net_device *netdev, struct sk_buff *skb, bool tx_rx)
|
|
|
netdev_dbg(netdev, "Src MAC addr: %pM\n", eth->h_source);
|
|
|
netdev_dbg(netdev, "Protocol: %#06hx\n", ntohs(eth->h_proto));
|
|
|
|
|
|
- for (i = 0, j = 0; i < skb->len;) {
|
|
|
- j += snprintf(buffer + j, sizeof(buffer) - j, "%02hhx",
|
|
|
- buf[i++]);
|
|
|
-
|
|
|
- if ((i % 32) == 0) {
|
|
|
- netdev_dbg(netdev, " %#06x: %s\n", i - 32, buffer);
|
|
|
- j = 0;
|
|
|
- } else if ((i % 16) == 0) {
|
|
|
- buffer[j++] = ' ';
|
|
|
- buffer[j++] = ' ';
|
|
|
- } else if ((i % 4) == 0) {
|
|
|
- buffer[j++] = ' ';
|
|
|
- }
|
|
|
+ for (i = 0; i < skb->len; i += 32) {
|
|
|
+ unsigned int len = min(skb->len - i, 32U);
|
|
|
+
|
|
|
+ hex_dump_to_buffer(&skb->data[i], len, 32, 1,
|
|
|
+ buffer, sizeof(buffer), false);
|
|
|
+ netdev_dbg(netdev, " %#06x: %s\n", i, buffer);
|
|
|
}
|
|
|
- if (i % 32)
|
|
|
- netdev_dbg(netdev, " %#06x: %s\n", i - (i % 32), buffer);
|
|
|
|
|
|
netdev_dbg(netdev, "\n************** SKB dump ****************\n");
|
|
|
}
|