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

Commit 37033e1b authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drm/msm/dp: process sink request on local thread"

parents e172c2c0 60e9e5c2
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -862,6 +862,12 @@ static void dp_display_attention_work(struct work_struct *work)
	struct dp_display_private *dp = container_of(work,
			struct dp_display_private, attention_work);

	if (!dp->core_initialized)
		return;

	if (dp->link->process_request(dp->link))
		return;

	if (dp->link->sink_request & DS_PORT_STATUS_CHANGED) {
		if (dp_display_is_sink_count_zero(dp)) {
			dp_display_handle_disconnect(dp);
@@ -940,8 +946,7 @@ static int dp_display_usbpd_attention_cb(struct device *dev)

		dp_display_handle_disconnect(dp);
		atomic_set(&dp->aborted, 0);
	} else if (dp->hpd->hpd_irq && dp->core_initialized) {
		dp->link->process_request(dp->link);
	} else if (dp->hpd->hpd_irq) {
		queue_work(dp->wq, &dp->attention_work);
	} else {
		queue_delayed_work(dp->wq, &dp->connect_work, 0);