public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, 1/3] musb: sunxi: Do not allocate musb struct multiple times
Date: Tue, 5 Apr 2016 11:00:53 +0200	[thread overview]
Message-ID: <57037EC5.1040303@redhat.com> (raw)
In-Reply-To: <1459622771-12704-1-git-send-email-hdegoede@redhat.com>

Marek, Simon,

Any news on this patch-set ?

Patch 1 is sunxi specific, but patch 2 is a generic musb patch
and patch 3 (of which I've send a v2 fixing some compiler warnings)
is a generic (dm) usb patch, so my plan was for these 3 patches
to go upstream through Marek's usb tree, after a review of:

https://patchwork.ozlabs.org/patch/605491/

by Simon.

Regards,

Hans


On 02-04-16 20:46, Hans de Goede wrote:
> The probe function of the musb host driver can be called multiple
> times. The code assumes that it can safe the pointer to the allocated
> musb struct in the driver model priv_auto_alloc data, but this data
> gets free-ed on a probe failure or on removal, so we must safe the
> pointer elsewhere.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>   drivers/usb/musb-new/sunxi.c | 11 +++++++----
>   1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
> index be1d2ec..3081afc 100644
> --- a/drivers/usb/musb-new/sunxi.c
> +++ b/drivers/usb/musb-new/sunxi.c
> @@ -201,6 +201,7 @@ static irqreturn_t sunxi_musb_interrupt(int irq, void *__hci)
>
>   /* musb_core does not call enable / disable in a balanced manner <sigh> */
>   static bool enabled = false;
> +static struct musb *sunxi_musb;
>
>   static int sunxi_musb_enable(struct musb *musb)
>   {
> @@ -320,13 +321,15 @@ int musb_usb_probe(struct udevice *dev)
>
>   	priv->desc_before_addr = true;
>
> -	if (!host->host) {
> -		host->host = musb_init_controller(&musb_plat, NULL,
> +	if (!sunxi_musb) {
> +		sunxi_musb = musb_init_controller(&musb_plat, NULL,
>   						  (void *)SUNXI_USB0_BASE);
> -		if (!host->host)
> -			return -EIO;
>   	}
>
> +	host->host = sunxi_musb;
> +	if (!host->host)
> +		return -EIO;
> +
>   	ret = musb_lowlevel_init(host);
>   	if (ret == 0)
>   		printf("MUSB OTG\n");
>

  parent reply	other threads:[~2016-04-05  9:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-02 18:46 [U-Boot] [PATCH 1/3] musb: sunxi: Do not allocate musb struct multiple times Hans de Goede
2016-04-02 18:46 ` [U-Boot] [PATCH 2/3] musb: Properly call musb_stop() on probe failure Hans de Goede
2016-04-02 18:46 ` [U-Boot] [PATCH 3/3] dm: usb: Do not reprobe usb hosts on "usb tree" command Hans de Goede
2016-04-02 18:57 ` [U-Boot] [PATCH 1/3] musb: sunxi: Do not allocate musb struct multiple times Peter Korsgaard
2016-04-02 21:39   ` Hans de Goede
2016-04-05  9:37     ` Ian Campbell
2016-04-05  9:00 ` Hans de Goede [this message]
2016-04-05 23:12   ` [U-Boot] [U-Boot, " Marek Vasut
2016-04-06 12:21     ` Hans de Goede
2016-04-06 12:34       ` Marek Vasut

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=57037EC5.1040303@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=u-boot@lists.denx.de \
    /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