On Mon, Jul 21, 2014 at 09:34:30AM +0200, Lothar Waßmann wrote: > Hi, > > Felipe Balbi wrote: > > Hi, > > > > On Fri, Jul 18, 2014 at 01:16:36PM -0300, Ezequiel Garcia wrote: > > > Hi Lothar, > > > > > > On 18 Jul 11:31 AM, Lothar Waßmann wrote: > > > > The first three patches do some source code cleanup in the files that > > > > are modified in the subsequent patches. > > > > > > > > > > I've applied patches 4 and 9 on a recent -next, after fixing a conflict > > > due to patch 3 ("usb: musb_am335x: source cleanup"): > > > > > > > Patch 4 carries the proper fix reported in commit: > > > > 7adb5c876e9c ("usb: musb: Fix panic upon musb_am335x module removal") > > > > > > > > Patch 9 reinstates module unloading support for the musb_am335x driver > > > > which was disabled due to a false failure analysis > > > > > > > > > > For these two patches, Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> > > > > > > Tested on a beaglebone with a mass storage USB device, module load/unload > > > works without issues. The module_get/put in the phy is now preventing the > > > musb_am335x driver unload, which seems to be the real cause of the issue > > > I reported. Thanks for providing a proper fix! > > > > I don't that's a good fix. The problem is that even after am335x > > removing all its child, someone else tried to release the PHY. That > > ordering is the one that needs to be fixed. Doing a module_get on the > > parent device looks like a hack to me. > > > No. It guarantees that the module cannot be unloaded when its resources > are still in use! it's still a hack. You have a child incrementing the usage count on its parent just because a sibbling isn't doing the right thing. -- balbi
Attachment:
signature.asc
Description: Digital signature