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");
>
next prev 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