Quoting maitreye (2021-07-26 10:36:26) > @@ -509,6 +515,7 @@ static int dp_display_usbpd_attention_cb(struct device *dev) > DRM_ERROR("invalid dev\n"); > return -EINVAL; > } > + DRM_DEBUG_DP("sink_request: %d\n", sink_request); This one is bad. sink_request isn't assigned yet. > > dp = container_of(g_dp_display, > struct dp_display_private, dp_display); > @@ -523,6 +530,7 @@ static int dp_display_usbpd_attention_cb(struct device *dev) > rc = dp_link_process_request(dp->link); > if (!rc) { > sink_request = dp->link->sink_request; > + DRM_DEBUG_DP("hpd_state=%d sink_count=%d\n", dp->hpd_state, sink_request); Should that say sink_request? > if (sink_request & DS_PORT_STATUS_CHANGED) > rc = dp_display_handle_port_ststus_changed(dp); > else