Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78300cf8 authored by Henry Orosco's avatar Henry Orosco Committed by Doug Ledford
Browse files

i40iw: Add request for reset on CQP timeout



When CQP times out, send a request to LAN driver for reset.

Signed-off-by: default avatarMustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: default avatarHenry Orosco <henry.orosco@intel.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 1ef936b2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -304,6 +304,7 @@ struct i40iw_device {
	u32 mpa_version;
	bool dcb;
	bool closing;
	bool reset;
	u32 used_pds;
	u32 used_cqs;
	u32 used_mrs;
+9 −1
Original line number Diff line number Diff line
@@ -396,7 +396,10 @@ static int i40iw_wait_event(struct i40iw_device *iwdev,
		i40iw_pr_err("error cqp command 0x%x timed out ret = %d\n",
			     info->cqp_cmd, timeout_ret);
		err_code = -ETIME;
		if (!iwdev->reset) {
			iwdev->reset = true;
			i40iw_request_reset(iwdev);
		}
		goto done;
	}
	cqp_error = cqp_request->compl_info.error;
@@ -426,6 +429,11 @@ enum i40iw_status_code i40iw_handle_cqp_op(struct i40iw_device *iwdev,
	struct cqp_commands_info *info = &cqp_request->info;
	int err_code = 0;

	if (iwdev->reset) {
		i40iw_free_cqp_request(&iwdev->cqp, cqp_request);
		return I40IW_ERR_CQP_COMPL_ERROR;
	}

	status = i40iw_process_cqp_cmd(dev, info);
	if (status) {
		i40iw_pr_err("error cqp command 0x%x failed\n", info->cqp_cmd);