Merge tag 'topic/core-stuff-2014-12-10' of git://anongit.freedesktop.org/drm-intel into drm-next
Merge drm core fixes from Daniel. * tag 'topic/core-stuff-2014-12-10' of git://anongit.freedesktop.org/drm-intel: drm: Zero out DRM object memory upon cleanup drm: fix a typo in a comment drm: fix a word repetition in a comment drm: Fix memory leak at error path of drm_read() drm/Documentation: Fix rowspan value in drm-kms-properties drm/edid: Restore kerneldoc consistency drm/edid: new drm_edid_block_checksum helper function V3 drm/edid: shorten log output in case of all zeroes edid block drm/edid: move drm_edid_is_zero to top, make edid argument const
This commit is contained in:
@@ -725,6 +725,8 @@ void drm_crtc_cleanup(struct drm_crtc *crtc)
|
||||
WARN_ON(crtc->state && !crtc->funcs->atomic_destroy_state);
|
||||
if (crtc->state && crtc->funcs->atomic_destroy_state)
|
||||
crtc->funcs->atomic_destroy_state(crtc, crtc->state);
|
||||
|
||||
memset(crtc, 0, sizeof(*crtc));
|
||||
}
|
||||
EXPORT_SYMBOL(drm_crtc_cleanup);
|
||||
|
||||
@@ -932,6 +934,8 @@ void drm_connector_cleanup(struct drm_connector *connector)
|
||||
if (connector->state && connector->funcs->atomic_destroy_state)
|
||||
connector->funcs->atomic_destroy_state(connector,
|
||||
connector->state);
|
||||
|
||||
memset(connector, 0, sizeof(*connector));
|
||||
}
|
||||
EXPORT_SYMBOL(drm_connector_cleanup);
|
||||
|
||||
@@ -1073,6 +1077,8 @@ void drm_bridge_cleanup(struct drm_bridge *bridge)
|
||||
list_del(&bridge->head);
|
||||
dev->mode_config.num_bridge--;
|
||||
drm_modeset_unlock_all(dev);
|
||||
|
||||
memset(bridge, 0, sizeof(*bridge));
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_cleanup);
|
||||
|
||||
@@ -1139,10 +1145,11 @@ void drm_encoder_cleanup(struct drm_encoder *encoder)
|
||||
drm_modeset_lock_all(dev);
|
||||
drm_mode_object_put(dev, &encoder->base);
|
||||
kfree(encoder->name);
|
||||
encoder->name = NULL;
|
||||
list_del(&encoder->head);
|
||||
dev->mode_config.num_encoder--;
|
||||
drm_modeset_unlock_all(dev);
|
||||
|
||||
memset(encoder, 0, sizeof(*encoder));
|
||||
}
|
||||
EXPORT_SYMBOL(drm_encoder_cleanup);
|
||||
|
||||
@@ -1262,6 +1269,8 @@ void drm_plane_cleanup(struct drm_plane *plane)
|
||||
WARN_ON(plane->state && !plane->funcs->atomic_destroy_state);
|
||||
if (plane->state && plane->funcs->atomic_destroy_state)
|
||||
plane->funcs->atomic_destroy_state(plane, plane->state);
|
||||
|
||||
memset(plane, 0, sizeof(*plane));
|
||||
}
|
||||
EXPORT_SYMBOL(drm_plane_cleanup);
|
||||
|
||||
@@ -3454,7 +3463,7 @@ void drm_fb_release(struct drm_file *priv)
|
||||
|
||||
/*
|
||||
* When the file gets released that means no one else can access the fb
|
||||
* list any more, so no need to grab fpriv->fbs_lock. And we need to to
|
||||
* list any more, so no need to grab fpriv->fbs_lock. And we need to
|
||||
* avoid upsetting lockdep since the universal cursor code adds a
|
||||
* framebuffer while holding mutex locks.
|
||||
*
|
||||
|
Reference in New Issue
Block a user