diff mbox

[2/2] mmc: meson-gx: remove mmc host on device removal

Message ID 20170216145222.1577-3-webczat@webczatnet.pl (mailing list archive)
State Superseded
Headers show

Commit Message

Michał Zegan Feb. 16, 2017, 2:52 p.m. UTC
The mmc host was added in meson_mmc_probe, but never removed in meson_mmc_remove.
Fix that by removing the host before deallocating other resources.

Signed-off-by: Michał Zegan <webczat@webczatnet.pl>
---
 drivers/mmc/host/meson-gx-mmc.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kevin Hilman Feb. 17, 2017, 7:47 p.m. UTC | #1
Michał Zegan <webczat@webczatnet.pl> writes:

> The mmc host was added in meson_mmc_probe, but never removed in meson_mmc_remove.
> Fix that by removing the host before deallocating other resources.
>
> Signed-off-by: Michał Zegan <webczat@webczatnet.pl>

Reviewed-by: Kevin Hilman <khilman@baylibre.com>

> ---
>  drivers/mmc/host/meson-gx-mmc.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
> index d444b6bfa02b..bb83446118a3 100644
> --- a/drivers/mmc/host/meson-gx-mmc.c
> +++ b/drivers/mmc/host/meson-gx-mmc.c
> @@ -818,6 +818,8 @@ static int meson_mmc_remove(struct platform_device *pdev)
>  	if (WARN_ON(!host))
>  		return 0;
>  
> +	mmc_remove_host(host->mmc);
> +
>  	if (host->bounce_buf)
>  		dma_free_coherent(host->dev, host->bounce_buf_size,
>  				  host->bounce_buf, host->bounce_dma_addr);
Michał Zegan Feb. 17, 2017, 7:50 p.m. UTC | #2
W dniu 17.02.2017 o 20:47, Kevin Hilman pisze:
> Michał Zegan <webczat@webczatnet.pl> writes:
>
>> The mmc host was added in meson_mmc_probe, but never removed in meson_mmc_remove.
>> Fix that by removing the host before deallocating other resources.
>>
>> Signed-off-by: Michał Zegan <webczat@webczatnet.pl>
> Reviewed-by: Kevin Hilman <khilman@baylibre.com>
I do not know how the mmc driver looks like after Heiner's cleanup. Does
this patch get obsoleted by the prior cleanup, or conflict with it in
some way?
>
>> ---
>>  drivers/mmc/host/meson-gx-mmc.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
>> index d444b6bfa02b..bb83446118a3 100644
>> --- a/drivers/mmc/host/meson-gx-mmc.c
>> +++ b/drivers/mmc/host/meson-gx-mmc.c
>> @@ -818,6 +818,8 @@ static int meson_mmc_remove(struct platform_device *pdev)
>>  	if (WARN_ON(!host))
>>  		return 0;
>>  
>> +	mmc_remove_host(host->mmc);
>> +
>>  	if (host->bounce_buf)
>>  		dma_free_coherent(host->dev, host->bounce_buf_size,
>>  				  host->bounce_buf, host->bounce_dma_addr);
Kevin Hilman Feb. 17, 2017, 11:03 p.m. UTC | #3
Michał Zegan <webczat@webczatnet.pl> writes:

> W dniu 17.02.2017 o 20:47, Kevin Hilman pisze:
>> Michał Zegan <webczat@webczatnet.pl> writes:
>>
>>> The mmc host was added in meson_mmc_probe, but never removed in meson_mmc_remove.
>>> Fix that by removing the host before deallocating other resources.
>>>
>>> Signed-off-by: Michał Zegan <webczat@webczatnet.pl>
>> Reviewed-by: Kevin Hilman <khilman@baylibre.com>
>
> I do not know how the mmc driver looks like after Heiner's cleanup. Does
> this patch get obsoleted by the prior cleanup, or conflict with it in
> some way?

It's not obsoleted, as I don't think Heiner's series fixes this problem,
but it may have minor conflicts.

I suggest you rebase this patch on top of Heiner's v2 to double check,
and resend if necessary, noting in the patch (after the '---') what it
applies on top of so that the MMC maintainers don't have to figure it
out.

Thanks,

Kevin

>>
>>> ---
>>>  drivers/mmc/host/meson-gx-mmc.c | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
>>> index d444b6bfa02b..bb83446118a3 100644
>>> --- a/drivers/mmc/host/meson-gx-mmc.c
>>> +++ b/drivers/mmc/host/meson-gx-mmc.c
>>> @@ -818,6 +818,8 @@ static int meson_mmc_remove(struct platform_device *pdev)
>>>  	if (WARN_ON(!host))
>>>  		return 0;
>>>  
>>> +	mmc_remove_host(host->mmc);
>>> +
>>>  	if (host->bounce_buf)
>>>  		dma_free_coherent(host->dev, host->bounce_buf_size,
>>>  				  host->bounce_buf, host->bounce_dma_addr);
diff mbox

Patch

diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index d444b6bfa02b..bb83446118a3 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -818,6 +818,8 @@  static int meson_mmc_remove(struct platform_device *pdev)
 	if (WARN_ON(!host))
 		return 0;
 
+	mmc_remove_host(host->mmc);
+
 	if (host->bounce_buf)
 		dma_free_coherent(host->dev, host->bounce_buf_size,
 				  host->bounce_buf, host->bounce_dma_addr);