[Intel-gfx] [PATCH v3.1 3/3] drm/i915: Don't try to remove MST cleanly when force removed.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Aug 6 06:51:31 PDT 2015


Hey,

Op 06-08-15 om 15:01 schreef Daniel Vetter:
> On Thu, Aug 06, 2015 at 01:47:37PM +0200, Maarten Lankhorst wrote:
>> Physically disconnecting a DP connector with an active MST stream
>> can lead to a kernel panic in intel_mst_disable_dp when calling
>> drm_dp_update_payload_part1. Examining the code it seems that the
>> port is freed while work to remove the connector is scheduled.
>>
>> This probably means it's fine to skip call all the mst helper calls
>> and only attempt to disable the real encoder.
> I think this is a refcounting bug in the dp mst helpers, the port
> shouldn't just go poof when we still hold a reference to it. Can you
> please try to figure out what's really broken here, and if that's too
> tricky add a big FIXME comment?
Look at drm_dp_destroy_port, it calls schedule_work(&mgr->destroy_connector_work), and also calls kfree(port).

Doesn't look like a refcounting bug to me, more like something intentional.

~Maarten


More information about the Intel-gfx mailing list