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

Commit 38edd4bf authored by Yuanfang Zhang's avatar Yuanfang Zhang
Browse files

qdss_bridge: fix NULL usb_ch of usb_qdss_close



Status of opened "ENABLE" cannot guarantee that usb_ch is not NULL when
calling usb_qdss_open failed, this change modifies status of opened to
"ENABLE" only when calling usb_qdss_open successful.

Change-Id: I946e057a21611c372af140af308fd03dcfcd6430
Signed-off-by: default avatarYuanfang Zhang <zhangyuanfang@codeaurora.org>
parent c7849b7a
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -489,7 +489,6 @@ static int mhi_ch_open(struct qdss_bridge_drvdata *drvdata)
		spin_unlock_bh(&drvdata->lock);
		return -ERESTARTSYS;
	}
	drvdata->opened = ENABLE;
	spin_unlock_bh(&drvdata->lock);

	ret = mhi_prepare_for_transfer(drvdata->mhi_dev);
@@ -501,7 +500,6 @@ static int mhi_ch_open(struct qdss_bridge_drvdata *drvdata)
	return 0;
err:
	spin_lock_bh(&drvdata->lock);
	drvdata->opened = DISABLE;
	spin_unlock_bh(&drvdata->lock);
	return ret;
}
@@ -528,9 +526,9 @@ static void qdss_bridge_open_work_fn(struct work_struct *work)
		goto err;
	}

	drvdata->opened = ENABLE;
	return;
err:
	drvdata->opened = DISABLE;
	mhi_unprepare_from_transfer(drvdata->mhi_dev);
	mhi_ch_close(drvdata);
err_open: