On 04/02/2014 06:05 PM, Felipe Balbi wrote:
> On Wed, Apr 02, 2014 at 11:46:51AM +0200, Daniel Mack wrote:

>> diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
>> index 3372ded..e2fd263 100644
>> --- a/drivers/usb/musb/musb_dsps.c
>> +++ b/drivers/usb/musb/musb_dsps.c
>> @@ -470,8 +470,9 @@ static int dsps_musb_exit(struct musb *musb)
>>      struct dsps_glue *glue = dev_get_drvdata(dev->parent);
>>  
>>      del_timer_sync(&glue->timer);
>> -
>>      usb_phy_shutdown(musb->xceiv);
>> +    debugfs_remove_recursive(glue->dbgfs_root);
>> +
>>      return 0;
>>  }
>>  
>> @@ -708,8 +709,6 @@ static int dsps_remove(struct platform_device *pdev)
>>      pm_runtime_put(&pdev->dev);
>>      pm_runtime_disable(&pdev->dev);
>>  
>> -    debugfs_remove_recursive(glue->dbgfs_root);
> 
> I don't think this is the right fix. debugfs_remove_recursive is
> supposed to remove the directory as well. Why isn't dsps_musb_exit()
> called ?

dsps_musb_exit() is called, hence my fix works :) The question is rather
why dsps_remove() isn't called.

For me, the fix looked obvious, as resources that are claimed in
dsps_musb_init() should obviously be freed in its counterpart function,
dsps_musb_exit(). For reasons of readability if not for any other :)


Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to