While trying drm-next suspend on Skylake I found it complaining "Timed out waiting for forcewake timers to finish". Investigation shown that hrtimer_active() return false positive after hrtimer_cancel() was used.
My patch fixes that bug while also switching to FreeBSD internal active status. If there is some good reason to use external flag please explain it to me, for which case I have alternative patch.