hdmi unplug not changing connector status
Submitted by Aki Lemmetyinen
Assigned to Default DRI bug account
Created attachment 132558
Small patch to fix the problem
I made a quick script for my HP Pavilion dv7 to automatically switch audio to hdmi and back at hotplug event, but I noticed that the driver do not react properly to plug/unplug. /sys/class/drm/card0-HDMI-A-1/status was "connected" even after unplugging the cable.
After looking at the code it seemed that in case of cable disconnected there is not point where hotplug state is polled.
Function radeon_connector_hotplug do not do much with hdmi and radeon_hotplug_work_func cals drm_helper_hpd_irq_event which calls radeon_dvi_detect where, in case of disconnected cable, it return with connector_status_connected, just throwing an error for missing EDID.
It looks like there would maybe be a need for a bigger rewrite of hotplug code, but just to get connector state working properly, I added these few lines to radeon_connectors.c.
Patch 132558, "Small patch to fix the problem":