[PATCH net-next] net: dwc-xlgmac: Get rid of custom hex_dump_to_buffer()
Get rid of custom hex_dump_to_buffer(). The output is slightly changed, i.e. each byte followed by white space. Note, we don't use print_hex_dump() here since the original code uses nedev_dbg(). Signed-off-by: Andy Shevchenko Signed-off-by: Jie Deng --- drivers/net/ethernet/synopsys/dwc-xlgmac-common.c | 24 +++ 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c b/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c index d655a42..eb1c6b0 100644 --- a/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c +++ b/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c @@ -333,9 +333,8 @@ void xlgmac_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"); @@ -346,22 +345,13 @@ void xlgmac_print_pkt(struct net_device *netdev, 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"); } -- 1.9.1
Re: [PATCH net-next] net: dwc-xlgmac: Get rid of custom hex_dump_to_buffer()
On Thu, 2017-12-21 at 13:32 +0800, Jie Deng wrote: > Get rid of custom hex_dump_to_buffer(). > > The output is slightly changed, i.e. each byte followed by white > space. > > Note, we don't use print_hex_dump() here since the original code uses > nedev_dbg(). > Jie, thanks for taking care of update. David, please, consider this one to be applied. > Signed-off-by: Andy Shevchenko > Signed-off-by: Jie Deng > --- > drivers/net/ethernet/synopsys/dwc-xlgmac-common.c | 24 +++--- > - > 1 file changed, 7 insertions(+), 17 deletions(-) > > diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c > b/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c > index d655a42..eb1c6b0 100644 > --- a/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c > +++ b/drivers/net/ethernet/synopsys/dwc-xlgmac-common.c > @@ -333,9 +333,8 @@ void xlgmac_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"); > > @@ -346,22 +345,13 @@ void xlgmac_print_pkt(struct net_device *netdev, > 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"); > } -- Andy Shevchenko Intel Finland Oy
Re: [PATCH net-next] net: dwc-xlgmac: Get rid of custom hex_dump_to_buffer()
From: Jie Deng Date: Thu, 21 Dec 2017 13:32:00 +0800 > Get rid of custom hex_dump_to_buffer(). > > The output is slightly changed, i.e. each byte followed by white space. > > Note, we don't use print_hex_dump() here since the original code uses > nedev_dbg(). > > Signed-off-by: Andy Shevchenko > Signed-off-by: Jie Deng Applied, thank you.