Message ID | 20151015123150.A800E6E7AF@gabe.freedesktop.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Oct 15, 2015 at 11:56:56AM +0200, Lukas Wunner wrote: > In its original version, drm_framebuffer_init() returned a negative int > if drm_mode_object_get() failed (f453ba046074, "DRM: add mode setting > support"). > > This was accidentally disabled by commit 4b096ac10da0 ("drm: revamp > locking around fb creation/destruction"). Thus, drm_framebuffer_init() > pretends success if drm_mode_object_get() failed. > > Reinstate the original behaviour. Also fix erroneous kernel-doc of > drm_mode_object_get(). > > Fixes: 4b096ac10da0 ("drm: revamp locking around fb creation/ > destruction") > Cc: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Lukas Wunner <lukas@wunner.de> Nice catch. Applied to drm-misc, thanks. -Daniel > --- > drivers/gpu/drm/drm_crtc.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index e600a5f..7a9ae78 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -306,8 +306,7 @@ static int drm_mode_object_get_reg(struct drm_device *dev, > * reference counted modeset objects like framebuffers. > * > * Returns: > - * New unique (relative to other objects in @dev) integer identifier for the > - * object. > + * Zero on success, error code on failure. > */ > int drm_mode_object_get(struct drm_device *dev, > struct drm_mode_object *obj, uint32_t obj_type) > @@ -423,7 +422,7 @@ int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, > out: > mutex_unlock(&dev->mode_config.fb_lock); > > - return 0; > + return ret; > } > EXPORT_SYMBOL(drm_framebuffer_init); > > -- > 1.8.5.2 (Apple Git-48) > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index e600a5f..7a9ae78 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -306,8 +306,7 @@ static int drm_mode_object_get_reg(struct drm_device *dev, * reference counted modeset objects like framebuffers. * * Returns: - * New unique (relative to other objects in @dev) integer identifier for the - * object. + * Zero on success, error code on failure. */ int drm_mode_object_get(struct drm_device *dev, struct drm_mode_object *obj, uint32_t obj_type) @@ -423,7 +422,7 @@ int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, out: mutex_unlock(&dev->mode_config.fb_lock); - return 0; + return ret; } EXPORT_SYMBOL(drm_framebuffer_init);
In its original version, drm_framebuffer_init() returned a negative int if drm_mode_object_get() failed (f453ba046074, "DRM: add mode setting support"). This was accidentally disabled by commit 4b096ac10da0 ("drm: revamp locking around fb creation/destruction"). Thus, drm_framebuffer_init() pretends success if drm_mode_object_get() failed. Reinstate the original behaviour. Also fix erroneous kernel-doc of drm_mode_object_get(). Fixes: 4b096ac10da0 ("drm: revamp locking around fb creation/ destruction") Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Lukas Wunner <lukas@wunner.de> --- drivers/gpu/drm/drm_crtc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)