On Mon, Jul 31, 2023 at 08:03:41PM +0300, Vitaliy Makkoveev wrote: > This is the culprit: > > schedule_timeout_uninterruptible(long timeout) > { > tsleep(curproc, PWAIT, "schtou", timeout); > return 0; > } >
Please give this a try. I think on initialization intel_dp_wait_source_oui() is called before intel_dp->last_oui_write is set and this results in a 10min timeout because our jiffies are set to ULONG_MAX - (10 * 60 * HZ); -- :wq Claudio Index: intel_dp.c =================================================================== RCS file: /cvs/src/sys/dev/pci/drm/i915/display/intel_dp.c,v retrieving revision 1.14 diff -u -p -r1.14 intel_dp.c --- intel_dp.c 28 Jul 2023 06:56:32 -0000 1.14 +++ intel_dp.c 31 Jul 2023 19:39:37 -0000 @@ -2228,6 +2228,8 @@ void intel_dp_wait_source_oui(struct int struct drm_i915_private *i915 = dp_to_i915(intel_dp); drm_dbg_kms(&i915->drm, "Performing OUI wait\n"); + if (intel_dp->last_oui_write == 0) + intel_dp->last_oui_write = jiffies; wait_remaining_ms_from_jiffies(intel_dp->last_oui_write, 30); }