diff options
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_common.c')
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_common.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c index df43e7c6777c..01874c0fff1d 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_common.c +++ b/drivers/net/ethernet/intel/i40e/i40e_common.c | |||
@@ -75,13 +75,15 @@ static i40e_status i40e_set_mac_type(struct i40e_hw *hw) | |||
75 | * @mask: debug mask | 75 | * @mask: debug mask |
76 | * @desc: pointer to admin queue descriptor | 76 | * @desc: pointer to admin queue descriptor |
77 | * @buffer: pointer to command buffer | 77 | * @buffer: pointer to command buffer |
78 | * @buf_len: max length of buffer | ||
78 | * | 79 | * |
79 | * Dumps debug log about adminq command with descriptor contents. | 80 | * Dumps debug log about adminq command with descriptor contents. |
80 | **/ | 81 | **/ |
81 | void i40e_debug_aq(struct i40e_hw *hw, enum i40e_debug_mask mask, void *desc, | 82 | void i40e_debug_aq(struct i40e_hw *hw, enum i40e_debug_mask mask, void *desc, |
82 | void *buffer) | 83 | void *buffer, u16 buf_len) |
83 | { | 84 | { |
84 | struct i40e_aq_desc *aq_desc = (struct i40e_aq_desc *)desc; | 85 | struct i40e_aq_desc *aq_desc = (struct i40e_aq_desc *)desc; |
86 | u16 len = le16_to_cpu(aq_desc->datalen); | ||
85 | u8 *aq_buffer = (u8 *)buffer; | 87 | u8 *aq_buffer = (u8 *)buffer; |
86 | u32 data[4]; | 88 | u32 data[4]; |
87 | u32 i = 0; | 89 | u32 i = 0; |
@@ -105,7 +107,9 @@ void i40e_debug_aq(struct i40e_hw *hw, enum i40e_debug_mask mask, void *desc, | |||
105 | if ((buffer != NULL) && (aq_desc->datalen != 0)) { | 107 | if ((buffer != NULL) && (aq_desc->datalen != 0)) { |
106 | memset(data, 0, sizeof(data)); | 108 | memset(data, 0, sizeof(data)); |
107 | i40e_debug(hw, mask, "AQ CMD Buffer:\n"); | 109 | i40e_debug(hw, mask, "AQ CMD Buffer:\n"); |
108 | for (i = 0; i < le16_to_cpu(aq_desc->datalen); i++) { | 110 | if (buf_len < len) |
111 | len = buf_len; | ||
112 | for (i = 0; i < len; i++) { | ||
109 | data[((i % 16) / 4)] |= | 113 | data[((i % 16) / 4)] |= |
110 | ((u32)aq_buffer[i]) << (8 * (i % 4)); | 114 | ((u32)aq_buffer[i]) << (8 * (i % 4)); |
111 | if ((i % 16) == 15) { | 115 | if ((i % 16) == 15) { |