linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] usb: musb: several bugfixes for the musb driver
Date: Mon, 21 Jul 2014 10:58:53 -0500	[thread overview]
Message-ID: <20140721155853.GK6852@saruman.home> (raw)
In-Reply-To: <20140721155352.GA20226@arch.cereza>

On Mon, Jul 21, 2014 at 12:53:52PM -0300, Ezequiel Garcia wrote:
> On 21 Jul 10:11 AM, Felipe Balbi wrote:
> > 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@vanguardiasur.com.ar>
> > > > > 
> > > > > 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.
> > 
> 
> How about having the musb_am335x (glue driver) call request_module and
> module_get on the phy-am335x? Wouldn't this be a cleaner approach?
> 
> I haven't checked if this possible, though.

at most, you would have the phy layer do that so that all PHYs get usage
counter incremented when they're in use. We can't have this 'fixed' for
MUSB only.

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140721/4de6e2bb/attachment-0001.sig>

      reply	other threads:[~2014-07-21 15:58 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-18  9:31 [PATCH 0/9] usb: musb: several bugfixes for the musb driver Lothar Waßmann
2014-07-18  9:31 ` [PATCH 1/9] usb: musb: core: cleanup - remove some useless 'break's from switch statements Lothar Waßmann
2014-07-18  9:31   ` [PATCH 2/9] usb: phy: am335x: group the #includes by subdirs Lothar Waßmann
2014-07-18  9:31     ` [PATCH 3/9] usb: musb_am335x: source cleanup Lothar Waßmann
2014-07-18  9:31       ` [PATCH 4/9] usb: phy: am335x-control: prevent module from being unloaded when in use Lothar Waßmann
2014-07-18  9:31         ` [PATCH 5/9] usb: musb: print error message with dev_err() instead of dev_dbg() Lothar Waßmann
2014-07-18  9:31           ` [PATCH 6/9] usb: musb: core: properly setup the HW before registering it to the USB core Lothar Waßmann
2014-07-18  9:31             ` [PATCH 7/9] usb: phy: am335x: setup the gen_phy function pointers _before_ adding the phy Lothar Waßmann
2014-07-18  9:31               ` [PATCH 8/9] usb: phy: am335x: call usb_gen_phy_init()/usb_gen_phy_shutdown() in am335x_init()/am335x_shutdown() Lothar Waßmann
2014-07-18  9:31                 ` [PATCH 9/9] usb: musb: musb_am335x: reinstate module loading/unloading support Lothar Waßmann
2014-07-18 14:04                   ` Felipe Balbi
2014-07-22  7:49                     ` Lothar Waßmann
2014-07-22 14:47                       ` Felipe Balbi
2014-07-18 13:57                 ` [PATCH 8/9] usb: phy: am335x: call usb_gen_phy_init()/usb_gen_phy_shutdown() in am335x_init()/am335x_shutdown() Felipe Balbi
2014-07-21  8:03                   ` Lothar Waßmann
2014-07-21 15:10                     ` Felipe Balbi
2014-07-22  8:06                       ` Lothar Waßmann
2014-07-22 14:47                         ` Felipe Balbi
2014-07-18 13:54               ` [PATCH 7/9] usb: phy: am335x: setup the gen_phy function pointers _before_ adding the phy Felipe Balbi
2014-07-18 13:52             ` [PATCH 6/9] usb: musb: core: properly setup the HW before registering it to the USB core Felipe Balbi
2014-07-18 13:50           ` [PATCH 5/9] usb: musb: print error message with dev_err() instead of dev_dbg() Felipe Balbi
2014-07-18 13:50         ` [PATCH 4/9] usb: phy: am335x-control: prevent module from being unloaded when in use Felipe Balbi
2014-07-18 13:45       ` [PATCH 3/9] usb: musb_am335x: source cleanup Felipe Balbi
2014-07-18 13:45     ` [PATCH 2/9] usb: phy: am335x: group the #includes by subdirs Felipe Balbi
2014-07-18 13:44   ` [PATCH 1/9] usb: musb: core: cleanup - remove some useless 'break's from switch statements Felipe Balbi
2014-07-18 16:16 ` [PATCH 0/9] usb: musb: several bugfixes for the musb driver Ezequiel Garcia
2014-07-18 16:50   ` Felipe Balbi
2014-07-21  7:34     ` Lothar Waßmann
2014-07-21 15:11       ` Felipe Balbi
2014-07-21 15:53         ` Ezequiel Garcia
2014-07-21 15:58           ` Felipe Balbi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140721155853.GK6852@saruman.home \
    --to=balbi@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).