vmwgfx: Free prefered mode on error path
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
d982640914
commit
55bde5b215
1 changed files with 12 additions and 7 deletions
|
@ -1710,17 +1710,22 @@ int vmw_du_connector_fill_modes(struct drm_connector *connector,
|
|||
mode->hdisplay = du->pref_width;
|
||||
mode->vdisplay = du->pref_height;
|
||||
vmw_guess_mode_timing(mode);
|
||||
|
||||
if (vmw_kms_validate_mode_vram(dev_priv, mode->hdisplay * 2,
|
||||
mode->vdisplay)) {
|
||||
drm_mode_probed_add(connector, mode);
|
||||
|
||||
if (du->pref_mode) {
|
||||
list_del_init(&du->pref_mode->head);
|
||||
drm_mode_destroy(dev, du->pref_mode);
|
||||
}
|
||||
|
||||
du->pref_mode = mode;
|
||||
} else {
|
||||
drm_mode_destroy(dev, mode);
|
||||
mode = NULL;
|
||||
}
|
||||
|
||||
if (du->pref_mode) {
|
||||
list_del_init(&du->pref_mode->head);
|
||||
drm_mode_destroy(dev, du->pref_mode);
|
||||
}
|
||||
|
||||
/* mode might be null here, this is intended */
|
||||
du->pref_mode = mode;
|
||||
}
|
||||
|
||||
for (i = 0; vmw_kms_connector_builtin[i].type != 0; i++) {
|
||||
|
|
Loading…
Reference in a new issue