intel_th: msu: Release resources on removal
Do release the resources when msu subdevice gets removed: stop the capture if it is active (which is still possible even though the module in pinned) and free the capture buffers. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Reviewed-by: Laurent Fert <laurent.fert@intel.com>
This commit is contained in:
parent
8e9a2beb5f
commit
f152dfee19
@ -1492,6 +1492,18 @@ static int intel_th_msc_probe(struct intel_th_device *thdev)
|
|||||||
|
|
||||||
static void intel_th_msc_remove(struct intel_th_device *thdev)
|
static void intel_th_msc_remove(struct intel_th_device *thdev)
|
||||||
{
|
{
|
||||||
|
struct msc *msc = dev_get_drvdata(&thdev->dev);
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
intel_th_msc_deactivate(thdev);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Buffers should not be used at this point except if the
|
||||||
|
* output character device is still open and the parent
|
||||||
|
* device gets detached from its bus, which is a FIXME.
|
||||||
|
*/
|
||||||
|
ret = msc_buffer_free_unless_used(msc);
|
||||||
|
WARN_ON_ONCE(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct intel_th_driver intel_th_msc_driver = {
|
static struct intel_th_driver intel_th_msc_driver = {
|
||||||
|
Loading…
Reference in New Issue
Block a user