Commit b7b83911 authored by Mika Westerberg's avatar Mika Westerberg
Browse files

thunderbolt: Do not send UNSET_INBOUND_SBTX when retimer NVM authentication started



Once retimer NVM authentication is started, sending UNSET_INBOUND_SBTX
will fail so avoid doing that. Only send it when we are writing an image
with not authentication or when the authentication failed early.

Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 1402ba08
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -244,6 +244,13 @@ static ssize_t nvm_authenticate_store(struct device *dev,
	rt->auth_status = 0;

	if (val) {
		/*
		 * When NVM authentication starts the retimer is not
		 * accessible so calling tb_retimer_unset_inbound_sbtx()
		 * will fail and therefore we do not call it. Exception
		 * is when the validation fails or we only write the new
		 * NVM image without authentication.
		 */
		tb_retimer_set_inbound_sbtx(rt->port);
		if (val == AUTHENTICATE_ONLY) {
			ret = tb_retimer_nvm_authenticate(rt, true);
@@ -264,6 +271,7 @@ static ssize_t nvm_authenticate_store(struct device *dev,
	}

exit_unlock:
	if (ret || val == WRITE_ONLY)
		tb_retimer_unset_inbound_sbtx(rt->port);
	mutex_unlock(&rt->tb->lock);
exit_rpm: