On 2022-02-16 15:39, Jocelyn Falempe wrote: > Hi, > > When using a Lenovo dock, I often get this error message on dmesg: > > [drm] *ERROR* mstb 0000000057b5b857 port 1: DPCD read on addr 0x4b0 for 1 bytes NAKed > > It's caused by fwupd which tries to read from /dev/drm_dp_aux4 > > I opened an issue on fwupd: > https://github.com/fwupd/fwupd/issues/4284 > > But it turns out, it's probably an issue in the drm mst code instead. > > When I connect my Dock (Lenovo Thinkpad Thunderbold 3 Gen 2), I get 3 drm_dp_aux[] created: > > /dev/drm_dp_aux[456] > > Reading from this devices at any address will always get the NAKed error above, unless there is an actual DP monitor connected (HDMI monitor or nothing connected gives a NAK) > > Each time I connect or disconnect a monitor on the dock, this 3 /dev/drm_dp_aux[] are destroyed and recreated. > > So I think the device /dev/drm_dp_aux[] should be created only if there is an actual monitor connected that can reply to it. > What's the purpose of providing userspace a device which can't be read or written ? (or maybe just fail the open() call, like Mario suggested on the fwupd issue, so the devices are still there with the same numbering) > > On the other hand, we can also consider that it's expected to get NAck in drm_dp_send_dpcd_read() and replace drm_err() with drm_dbg() > > what do you think ? > Adding Lyude, AFAIK she's looked into this before. -- Earthling Michel Dänzer | https://redhat.com Libre software enthusiast | Mesa and Xwayland developer