[PATCH v2 2/2] drm: remove drm_device_is_unplugged checks in common drm code.
hshi at chromium.org
Thu Feb 11 19:19:31 UTC 2016
Well, in that case it would be even simpler. We don't even need the
"unplugged" flag check in udl_detect because all connectors are already
unplugged in udl_usb_disconnect (in drm_connector_unplug_all()).
It is not necessary to check the flag in udl_fb_open() either, if the
intention is to keep the device alive.
As for code paths that uses udl->udev, I only see the following 3 places:
(1) udl_parse_vendor_description and udl_alloc_urb_list: both are only
called at udl_driver_load(), so not a problem
(2) udl_usb_probe: won't happen after USB device is unplugged
(3) udl_get_edid: only called from udl_get_modes, won't be an issue because
connectors are already unplugged
So, it seems that I *really* just need to drop the "unplugged" flag and
update the commit message.
On Thu, Feb 11, 2016 at 2:30 AM, David Herrmann <dh.herrmann at gmail.com>
> On Thu, Feb 11, 2016 at 12:18 AM, Haixia Shi <hshi at chromium.org> wrote:
> > When USB cable is disconnected, we mark udl device as unplugged so that
> > udl_detect reports connector status as disconnected, but still keep
> > the drm device alive until user-space closes it.
> > Signed-off-by: Haixia Shi <hshi at chromium.org>
> > Reviewed-by: Stéphane Marchesin <marcheu at chromium.org>
> I assume this is based on the discussion I had with Stephane on IRC.
> I'm fine with going this way and keeping the device fully alive, and
> just treat the device removal as a connector-unplug. However, you
> really must document all this in your commit message.
> Anyway, if you want to keep the device alive, then please change the
> code to entirely drop the "unplugged" flag and all related code. Then
> make sure you somehow reset "udl->udev" to NULL and make sure no
> code-path uses the usb-device after it was unplugged. I guess there
> should be appropriate locks already.
> This way, you end up with a fully functional UDL device, which just
> happens to have to connector plugged. But you *really* have to be
> careful that no-one touches the usb device, as the interface might be
> re-used by some other device any time (or in case the usb-core
> provides protection against this, please document it).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the dri-devel