On Wed, Sep 22, 2021 at 10:02 AM Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> wrote: > > > Attached is a complete dmesg and also the decoded trace. > This is done on 4357f03d6611 ("Merge tag 'pm-5.15-rc2' of > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm") drivers/gpu/drm/vc4/vc4_hdmi.c:1214 is tmp = (u64)(mode->clock * 1000) * n; in vc4_hdmi_set_n_cts(), which has apparently been inlined from vc4_hdmi_audio_prepare() in vc4_hdmi.c:1398. So it looks like 'mode' is some offset off a NULL pointer. Which looks not impossible: 1207 struct drm_connector *connector = &vc4_hdmi->connector; 1208 struct drm_crtc *crtc = connector->state->crtc; 1209 const struct drm_display_mode *mode = &crtc->state->adjusted_mode; looks like crtc->state perhaps might be NULL. Although it's entirely possible that it's 'crtc' itself that is NULL or one of the earlier indirection accesses. The exact line information from the debug info is very useful and mostly correct, but at the same time should always be taken with a small pinch of salt. Compiler optimizations means that code gets munged and moved around, and since this is the first access to 'mode', I would not be surprised if some of the calculations and accesses to get 'mode' might be moved around to it. Linus