drm: Preserve the list head in drm_mode_copy
Preserve the destination mode's list head in drm_mode_copy. Just in case someone decides that it's a good idea to overwrite a mode which happens to be on some list, Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
f6fb754dc6
commit
72e45e9267
|
@ -789,16 +789,17 @@ EXPORT_SYMBOL(drm_mode_set_crtcinfo);
|
||||||
* LOCKING:
|
* LOCKING:
|
||||||
* None.
|
* None.
|
||||||
*
|
*
|
||||||
* Copy an existing mode into another mode, preserving the object id
|
* Copy an existing mode into another mode, preserving the object id and
|
||||||
* of the destination mode.
|
* list head of the destination mode.
|
||||||
*/
|
*/
|
||||||
void drm_mode_copy(struct drm_display_mode *dst, const struct drm_display_mode *src)
|
void drm_mode_copy(struct drm_display_mode *dst, const struct drm_display_mode *src)
|
||||||
{
|
{
|
||||||
int id = dst->base.id;
|
int id = dst->base.id;
|
||||||
|
struct list_head head = dst->head;
|
||||||
|
|
||||||
*dst = *src;
|
*dst = *src;
|
||||||
dst->base.id = id;
|
dst->base.id = id;
|
||||||
INIT_LIST_HEAD(&dst->head);
|
dst->head = head;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_mode_copy);
|
EXPORT_SYMBOL(drm_mode_copy);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue