Author: hselasky Date: Tue May 10 18:18:29 2016 New Revision: 299381 URL: https://svnweb.freebsd.org/changeset/base/299381
Log: Ensure waiting loops terminate during cold boot. This fixes boot with MacBookPro and i915kms_load="YES" in /boot/loader.conf. A lowlevel timeout in one of the display ports caused an infinite wait because a ticks/jiffies comparison was constant. The clock subsystem which makes ticks/jiffies increment is started after the initial driver probing is done. Refer to sys/kernel.h and SI_SUB_DRIVERS vs SI_SUB_CLOCKS . Discussed with: kmacy @ Modified: head/sys/dev/drm2/i915/intel_drv.h Modified: head/sys/dev/drm2/i915/intel_drv.h ============================================================================== --- head/sys/dev/drm2/i915/intel_drv.h Tue May 10 18:00:37 2016 (r299380) +++ head/sys/dev/drm2/i915/intel_drv.h Tue May 10 18:18:29 2016 (r299381) @@ -50,6 +50,8 @@ pause((WMSG), 1); \ else \ DELAY(1000); \ + if (cold) \ + end -= howmany(hz, 1000); \ } \ \ ret; \ @@ -68,6 +70,8 @@ } else { \ DELAY(1000); \ } \ + if (cold) \ + timeout__ -= howmany(hz, 1000); \ } \ ret__; \ }) _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"