Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d6104e0 authored by Thierry Reding's avatar Thierry Reding Committed by Dave Airlie
Browse files

drm/sysfs: Do not drop device reference twice



device_unregister() already drops its reference to the struct device, so
explicitly calling put_device() before device_unregister() can cause the
device to have been freed before it can be unregistered.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: default avatarBen Widawsky <ben@bwidawsk.net>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent be51e4a7
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -439,7 +439,6 @@ err_out_files:
		device_remove_file(connector->kdev, &connector_attrs_opt1[i]);
	for (i = 0; i < attr_cnt; i++)
		device_remove_file(connector->kdev, &connector_attrs[i]);
	put_device(connector->kdev);
	device_unregister(connector->kdev);

out:
@@ -472,7 +471,6 @@ void drm_sysfs_connector_remove(struct drm_connector *connector)
	for (i = 0; i < ARRAY_SIZE(connector_attrs); i++)
		device_remove_file(connector->kdev, &connector_attrs[i]);
	sysfs_remove_bin_file(&connector->kdev->kobj, &edid_attr);
	put_device(connector->kdev);
	device_unregister(connector->kdev);
	connector->kdev = NULL;
}