drm/radeon/kms: fix oops when set_base is call with no FB
Just do nothing if crct_set_base() is called with no FB. The oops happens when the user switches between X & vt or in some case when changing mode. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
fd874ad0a0
commit
2de3b4841f
@@ -578,8 +578,11 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
uint64_t fb_location;
|
uint64_t fb_location;
|
||||||
uint32_t fb_format, fb_pitch_pixels, tiling_flags;
|
uint32_t fb_format, fb_pitch_pixels, tiling_flags;
|
||||||
|
|
||||||
if (!crtc->fb)
|
/* no fb bound */
|
||||||
return -EINVAL;
|
if (!crtc->fb) {
|
||||||
|
DRM_DEBUG("No FB bound\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
radeon_fb = to_radeon_framebuffer(crtc->fb);
|
radeon_fb = to_radeon_framebuffer(crtc->fb);
|
||||||
|
|
||||||
|
@@ -408,6 +408,11 @@ int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
|
|||||||
uint32_t gen_cntl_reg, gen_cntl_val;
|
uint32_t gen_cntl_reg, gen_cntl_val;
|
||||||
|
|
||||||
DRM_DEBUG("\n");
|
DRM_DEBUG("\n");
|
||||||
|
/* no fb bound */
|
||||||
|
if (!crtc->fb) {
|
||||||
|
DRM_DEBUG("No FB bound\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
radeon_fb = to_radeon_framebuffer(crtc->fb);
|
radeon_fb = to_radeon_framebuffer(crtc->fb);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user