Re: [PATCH] drm/sysfs: fix hotplug regression since lifetime changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 21, 2013 at 7:22 PM, Daniel Vetter <daniel@xxxxxxxx> wrote:
> On Thu, Nov 21, 2013 at 11:51:04AM +1000, Dave Airlie wrote:
>> 5bdebb183c9702a8c57a01dff09337be3de337a6 changed the lifetimes, but it
>> also meant we no longer set the device_type field properly, so the
>> hotplug events in userspace weren't fully formed enough for drivers to care.
>>
>> Reported-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
>> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
>> ---
>>  drivers/gpu/drm/drm_sysfs.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
>> index 1a35ea5..c6a3902 100644
>> --- a/drivers/gpu/drm/drm_sysfs.c
>> +++ b/drivers/gpu/drm/drm_sysfs.c
>> @@ -516,6 +516,7 @@ int drm_sysfs_device_add(struct drm_minor *minor)
>>               DRM_ERROR("device create failed %ld\n", PTR_ERR(minor->kdev));
>>               return PTR_ERR(minor->kdev);
>>       }
>> +     minor->kdev->type = &drm_sysfs_device_minor;
>
> Isn't this one of the sysfs races Greg is fighting against? At least from
> a cursor read through the driver core it looks like we'd better set the
> dev->type before we set it up with device_create().

Possibly but how can we do that? since minor->kdev is something we
just created 2 lines earlier
unless there is another create function I should be calling, I don't
see a device_create_with_type.
>
> Cc'ing Greg for insight.
>
> Aside: I wonder whether we could get rid of our drm_minor type and use it
> for something more useful like the render node vs legacy node split ...

Its ABI now. all the userspace drivers need it in the uevents for
hotplug to keep working.

Dave.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux