aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_lpe_audio.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.c b/drivers/gpu/drm/i915/intel_lpe_audio.c
index d8ca187ae001..25d8e76489e4 100644
--- a/drivers/gpu/drm/i915/intel_lpe_audio.c
+++ b/drivers/gpu/drm/i915/intel_lpe_audio.c
@@ -131,8 +131,15 @@ err:
131 131
132static void lpe_audio_platdev_destroy(struct drm_i915_private *dev_priv) 132static void lpe_audio_platdev_destroy(struct drm_i915_private *dev_priv)
133{ 133{
134 /* XXX Note that platform_device_register_full() allocates a dma_mask
135 * and never frees it. We can't free it here as we cannot guarantee
136 * this is the last reference (i.e. that the dma_mask will not be
137 * used after our unregister). So ee choose to leak the sizeof(u64)
138 * allocation here - it should be fixed in the platform_device rather
139 * than us fiddle with its internals.
140 */
141
134 platform_device_unregister(dev_priv->lpe_audio.platdev); 142 platform_device_unregister(dev_priv->lpe_audio.platdev);
135 kfree(dev_priv->lpe_audio.platdev->dev.dma_mask);
136} 143}
137 144
138static void lpe_audio_irq_unmask(struct irq_data *d) 145static void lpe_audio_irq_unmask(struct irq_data *d)