diff options
Diffstat (limited to 'drivers/net/ethernet/qlogic/qed/qed_debug.c')
| -rw-r--r-- | drivers/net/ethernet/qlogic/qed/qed_debug.c | 28 | 
1 files changed, 20 insertions, 8 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_debug.c b/drivers/net/ethernet/qlogic/qed/qed_debug.c index 86ecb080b153..cdcead614e9f 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_debug.c +++ b/drivers/net/ethernet/qlogic/qed/qed_debug.c @@ -1832,7 +1832,8 @@ static enum dbg_status qed_find_nvram_image(struct qed_hwfn *p_hwfn,  					    struct qed_ptt *p_ptt,  					    u32 image_type,  					    u32 *nvram_offset_bytes, -					    u32 *nvram_size_bytes) +					    u32 *nvram_size_bytes, +					    bool b_can_sleep)  {  	u32 ret_mcp_resp, ret_mcp_param, ret_txn_size;  	struct mcp_file_att file_att; @@ -1846,7 +1847,8 @@ static enum dbg_status qed_find_nvram_image(struct qed_hwfn *p_hwfn,  					&ret_mcp_resp,  					&ret_mcp_param,  					&ret_txn_size, -					(u32 *)&file_att, false); +					(u32 *)&file_att, +					b_can_sleep);  	/* Check response */  	if (nvm_result || (ret_mcp_resp & FW_MSG_CODE_MASK) != @@ -1873,7 +1875,9 @@ static enum dbg_status qed_find_nvram_image(struct qed_hwfn *p_hwfn,  static enum dbg_status qed_nvram_read(struct qed_hwfn *p_hwfn,  				      struct qed_ptt *p_ptt,  				      u32 nvram_offset_bytes, -				      u32 nvram_size_bytes, u32 *ret_buf) +				      u32 nvram_size_bytes, +				      u32 *ret_buf, +				      bool b_can_sleep)  {  	u32 ret_mcp_resp, ret_mcp_param, ret_read_size, bytes_to_copy;  	s32 bytes_left = nvram_size_bytes; @@ -1899,7 +1903,7 @@ static enum dbg_status qed_nvram_read(struct qed_hwfn *p_hwfn,  				       &ret_mcp_resp,  				       &ret_mcp_param, &ret_read_size,  				       (u32 *)((u8 *)ret_buf + read_offset), -				       false)) +				       b_can_sleep))  			return DBG_STATUS_NVRAM_READ_FAILED;  		/* Check response */ @@ -3380,7 +3384,8 @@ static u32 qed_grc_dump_mcp_hw_dump(struct qed_hwfn *p_hwfn,  				      p_ptt,  				      NVM_TYPE_HW_DUMP_OUT,  				      &hw_dump_offset_bytes, -				      &hw_dump_size_bytes); +				      &hw_dump_size_bytes, +				      false);  	if (status != DBG_STATUS_OK)  		return 0; @@ -3397,7 +3402,9 @@ static u32 qed_grc_dump_mcp_hw_dump(struct qed_hwfn *p_hwfn,  		status = qed_nvram_read(p_hwfn,  					p_ptt,  					hw_dump_offset_bytes, -					hw_dump_size_bytes, dump_buf + offset); +					hw_dump_size_bytes, +					dump_buf + offset, +					false);  		if (status != DBG_STATUS_OK) {  			DP_NOTICE(p_hwfn,  				  "Failed to read MCP HW Dump image from NVRAM\n"); @@ -4123,7 +4130,9 @@ static enum dbg_status qed_mcp_trace_get_meta_info(struct qed_hwfn *p_hwfn,  	return qed_find_nvram_image(p_hwfn,  				    p_ptt,  				    nvram_image_type, -				    trace_meta_offset, trace_meta_size); +				    trace_meta_offset, +				    trace_meta_size, +				    true);  }  /* Reads the MCP Trace meta data from NVRAM into the specified buffer */ @@ -4139,7 +4148,10 @@ static enum dbg_status qed_mcp_trace_read_meta(struct qed_hwfn *p_hwfn,  	/* Read meta data from NVRAM */  	status = qed_nvram_read(p_hwfn,  				p_ptt, -				nvram_offset_in_bytes, size_in_bytes, buf); +				nvram_offset_in_bytes, +				size_in_bytes, +				buf, +				true);  	if (status != DBG_STATUS_OK)  		return status;  |