diff options
Diffstat (limited to 'drivers/net/ethernet/amd/xgbe/xgbe-drv.c')
| -rw-r--r-- | drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 26 | 
1 files changed, 8 insertions, 18 deletions
| diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c index a74a8fbad53a..100adee778df 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c @@ -595,7 +595,7 @@ isr_done:  		reissue_mask = 1 << 0;  		if (!pdata->per_channel_irq) -			reissue_mask |= 0xffff < 4; +			reissue_mask |= 0xffff << 4;  		XP_IOWRITE(pdata, XP_INT_REISSUE_EN, reissue_mask);  	} @@ -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");  } |