|
@@ -131,8 +131,15 @@ err:
|
|
|
|
|
|
static void lpe_audio_platdev_destroy(struct drm_i915_private *dev_priv)
|
|
|
{
|
|
|
+ /* XXX Note that platform_device_register_full() allocates a dma_mask
|
|
|
+ * and never frees it. We can't free it here as we cannot guarantee
|
|
|
+ * this is the last reference (i.e. that the dma_mask will not be
|
|
|
+ * used after our unregister). So ee choose to leak the sizeof(u64)
|
|
|
+ * allocation here - it should be fixed in the platform_device rather
|
|
|
+ * than us fiddle with its internals.
|
|
|
+ */
|
|
|
+
|
|
|
platform_device_unregister(dev_priv->lpe_audio.platdev);
|
|
|
- kfree(dev_priv->lpe_audio.platdev->dev.dma_mask);
|
|
|
}
|
|
|
|
|
|
static void lpe_audio_irq_unmask(struct irq_data *d)
|