diff options
| author | Corbin McElhanney <corbin.mcelhanney@amd.com> | 2017-08-09 17:30:28 +0300 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2017-09-27 01:16:38 +0300 |
| commit | e771aae02baa59386972faec491cd221c169ed53 (patch) | |
| tree | dec661204f01683b3209097e730ace9575dc1c11 | |
| parent | 77a4ea53fd89ccf823e77cc31cea808a3589f732 (diff) | |
| download | linux-e771aae02baa59386972faec491cd221c169ed53.tar.xz | |
drm/amd/display: Add comment explaining context free
This comment explains a previous change that adds some complexity
to the context free in dc:
commit 9ad58779a895 ("drm/amd/display: Fix accessing freed memory")
Signed-off-by: Corbin McElhanney <corbin.mcelhanney@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| -rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 477024c467e6..33c3d88b1c86 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -1740,6 +1740,15 @@ void dc_update_planes_and_stream(struct dc *dc, } if (core_dc->current_context != context) { + + /* Since memory free requires elevated IRQL, an interrupt + * request is generated by mem free. If this happens + * between freeing and reassigning the context, our vsync + * interrupt will call into dc and cause a memory + * corruption BSOD. Hence, we first reassign the context, + * then free the old context. + */ + struct validate_context *old = core_dc->current_context; core_dc->current_context = context; |
