diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2017-10-03 09:24:28 +0300 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2017-10-03 09:34:20 +0300 |
commit | 227f66d2f9954f68375736af62ebcd73c6754d69 (patch) | |
tree | 67ab230918d8f594225de5c07c5a0373207c815b | |
parent | 194d68dd051c2dd5ac2b522ae16100e774e8d869 (diff) | |
download | linux-227f66d2f9954f68375736af62ebcd73c6754d69.tar.xz |
drm/nouveau/kms/nv50: fix oops during DP IRQ handling on non-MST boards
Reported-by: Woody Suwalski <terraluna977@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Cc: stable@vger.kernel.org
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_display.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 2dbf62a2ac41..e4751f92b342 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -3265,11 +3265,14 @@ nv50_mstm = { void nv50_mstm_service(struct nv50_mstm *mstm) { - struct drm_dp_aux *aux = mstm->mgr.aux; + struct drm_dp_aux *aux = mstm ? mstm->mgr.aux : NULL; bool handled = true; int ret; u8 esi[8] = {}; + if (!aux) + return; + while (handled) { ret = drm_dp_dpcd_read(aux, DP_SINK_COUNT_ESI, esi, 8); if (ret != 8) { |