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> wrote: > Hi > > 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). > > Thanks > David > -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20160211/e9e0d932/attachment-0001.html>