Commit 3753cb24 authored by Neerav Parikh's avatar Neerav Parikh Committed by Jeff Kirsher

i40e: Fix dump output from debugfs calls

The debugfs commands that dump hex information are not doing these as
expected viz. "lldp get local", "nvm read", "dump debug fwdata", etc.

Use print_hex_dump() instead to hex dump and remove the print buffer
stuff from the code.

Change-Id: I507bd8b2187aae8bad5055b7872978c309cf143e
Signed-off-by: default avatarNeerav Parikh <Neerav.Parikh@intel.com>
Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 02d5cb5b
...@@ -1022,8 +1022,6 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1022,8 +1022,6 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
char *cmd_buf, *cmd_buf_tmp; char *cmd_buf, *cmd_buf_tmp;
int bytes_not_copied; int bytes_not_copied;
struct i40e_vsi *vsi; struct i40e_vsi *vsi;
u8 *print_buf_start;
u8 *print_buf;
int vsi_seid; int vsi_seid;
int veb_seid; int veb_seid;
int cnt; int cnt;
...@@ -1048,11 +1046,6 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1048,11 +1046,6 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
count = cmd_buf_tmp - cmd_buf + 1; count = cmd_buf_tmp - cmd_buf + 1;
} }
print_buf_start = kzalloc(I40E_MAX_DEBUG_OUT_BUFFER, GFP_KERNEL);
if (!print_buf_start)
goto command_write_done;
print_buf = print_buf_start;
if (strncmp(cmd_buf, "add vsi", 7) == 0) { if (strncmp(cmd_buf, "add vsi", 7) == 0) {
vsi_seid = -1; vsi_seid = -1;
cnt = sscanf(&cmd_buf[7], "%i", &vsi_seid); cnt = sscanf(&cmd_buf[7], "%i", &vsi_seid);
...@@ -1592,19 +1585,15 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1592,19 +1585,15 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
packet_len = min_t(u16, packet_len = min_t(u16,
packet_len, I40E_FDIR_MAX_RAW_PACKET_LOOKUP); packet_len, I40E_FDIR_MAX_RAW_PACKET_LOOKUP);
dev_info(&pf->pdev->dev, "FD raw packet:\n");
for (i = 0; i < packet_len; i++) { for (i = 0; i < packet_len; i++) {
sscanf(&asc_packet[j], "%2hhx ", sscanf(&asc_packet[j], "%2hhx ",
&fd_data.raw_packet[i]); &fd_data.raw_packet[i]);
j += 3; j += 3;
snprintf(print_buf, 3, "%02x ", fd_data.raw_packet[i]);
print_buf += 3;
if ((i % 16) == 15) {
snprintf(print_buf, 1, "\n");
print_buf++;
}
} }
dev_info(&pf->pdev->dev, "%s\n", print_buf_start); dev_info(&pf->pdev->dev, "FD raw packet dump\n");
print_hex_dump(KERN_INFO, "FD raw packet: ",
DUMP_PREFIX_OFFSET, 16, 1,
fd_data.raw_packet, packet_len, true);
ret = i40e_program_fdir_filter(&fd_data, pf, add); ret = i40e_program_fdir_filter(&fd_data, pf, add);
if (!ret) { if (!ret) {
dev_info(&pf->pdev->dev, "Filter command send Status : Success\n"); dev_info(&pf->pdev->dev, "Filter command send Status : Success\n");
...@@ -1638,7 +1627,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1638,7 +1627,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
} else if (strncmp(&cmd_buf[5], } else if (strncmp(&cmd_buf[5],
"get local", 9) == 0) { "get local", 9) == 0) {
u16 llen, rlen; u16 llen, rlen;
int ret, i; int ret;
u8 *buff; u8 *buff;
buff = kzalloc(I40E_LLDPDU_SIZE, GFP_KERNEL); buff = kzalloc(I40E_LLDPDU_SIZE, GFP_KERNEL);
if (!buff) if (!buff)
...@@ -1656,22 +1645,15 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1656,22 +1645,15 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
buff = NULL; buff = NULL;
goto command_write_done; goto command_write_done;
} }
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev, "LLDP MIB (local)\n");
"Get LLDP MIB (local) AQ buffer written back:\n"); print_hex_dump(KERN_INFO, "LLDP MIB (local): ",
for (i = 0; i < I40E_LLDPDU_SIZE; i++) { DUMP_PREFIX_OFFSET, 16, 1,
snprintf(print_buf, 3, "%02x ", buff[i]); buff, I40E_LLDPDU_SIZE, true);
print_buf += 3;
if ((i % 16) == 15) {
snprintf(print_buf, 1, "\n");
print_buf++;
}
}
dev_info(&pf->pdev->dev, "%s\n", print_buf_start);
kfree(buff); kfree(buff);
buff = NULL; buff = NULL;
} else if (strncmp(&cmd_buf[5], "get remote", 10) == 0) { } else if (strncmp(&cmd_buf[5], "get remote", 10) == 0) {
u16 llen, rlen; u16 llen, rlen;
int ret, i; int ret;
u8 *buff; u8 *buff;
buff = kzalloc(I40E_LLDPDU_SIZE, GFP_KERNEL); buff = kzalloc(I40E_LLDPDU_SIZE, GFP_KERNEL);
if (!buff) if (!buff)
...@@ -1690,17 +1672,10 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1690,17 +1672,10 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
buff = NULL; buff = NULL;
goto command_write_done; goto command_write_done;
} }
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev, "LLDP MIB (remote)\n");
"Get LLDP MIB (remote) AQ buffer written back:\n"); print_hex_dump(KERN_INFO, "LLDP MIB (remote): ",
for (i = 0; i < I40E_LLDPDU_SIZE; i++) { DUMP_PREFIX_OFFSET, 16, 1,
snprintf(print_buf, 3, "%02x ", buff[i]); buff, I40E_LLDPDU_SIZE, true);
print_buf += 3;
if ((i % 16) == 15) {
snprintf(print_buf, 1, "\n");
print_buf++;
}
}
dev_info(&pf->pdev->dev, "%s\n", print_buf_start);
kfree(buff); kfree(buff);
buff = NULL; buff = NULL;
} else if (strncmp(&cmd_buf[5], "event on", 8) == 0) { } else if (strncmp(&cmd_buf[5], "event on", 8) == 0) {
...@@ -1725,7 +1700,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1725,7 +1700,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
} }
} }
} else if (strncmp(cmd_buf, "nvm read", 8) == 0) { } else if (strncmp(cmd_buf, "nvm read", 8) == 0) {
u16 buffer_len, i, bytes; u16 buffer_len, bytes;
u16 module; u16 module;
u32 offset; u32 offset;
u16 *buff; u16 *buff;
...@@ -1779,16 +1754,10 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1779,16 +1754,10 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"Read NVM module=0x%x offset=0x%x words=%d\n", "Read NVM module=0x%x offset=0x%x words=%d\n",
module, offset, buffer_len); module, offset, buffer_len);
for (i = 0; i < buffer_len; i++) { if (buffer_len)
if ((i % 16) == 0) { print_hex_dump(KERN_INFO, "NVM Dump: ",
snprintf(print_buf, 11, "\n0x%08x: ", DUMP_PREFIX_OFFSET, 16, 2,
offset + i); buff, buffer_len, true);
print_buf += 11;
}
snprintf(print_buf, 5, "%04x ", buff[i]);
print_buf += 5;
}
dev_info(&pf->pdev->dev, "%s\n", print_buf_start);
} }
kfree(buff); kfree(buff);
buff = NULL; buff = NULL;
...@@ -1832,9 +1801,6 @@ static ssize_t i40e_dbg_command_write(struct file *filp, ...@@ -1832,9 +1801,6 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
command_write_done: command_write_done:
kfree(cmd_buf); kfree(cmd_buf);
cmd_buf = NULL; cmd_buf = NULL;
kfree(print_buf_start);
print_buf = NULL;
print_buf_start = NULL;
return count; return count;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment