Re: [PATCH v10 8/9] usb: xhci: Add NVIDIA Tegra XUSB controller driver

Thierry Reding
2016-04-07T11:05:01Z

[-- Attachment #1: Type: text/plain, Size: 2049 bytes --]

On Thu, Apr 07, 2016 at 02:03:45PM +0300, Mathias Nyman wrote:
> On 04.03.2016 18:19, Thierry Reding wrote:
> > From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> >
> > Add support for the on-chip XUSB controller present on Tegra SoCs. This
> > controller, when loaded with external firmware, exposes an interface
> > compliant with xHCI. This driver loads the firmware, starts the
> > controller, and is able to service host-specific messages sent by the
> > controller's firmware.
> >
> > The controller also supports USB device mode as well as powergating
> > of the SuperSpeed and host-controller logic when not in use, but
> > support for these is not yet implemented.
> >
> > Based on work by:
> > Ajay Gupta <ajayg-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > Bharath Yadav <byadav-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > Andrew Bresticker <abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
> >
> > Cc: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
> > Cc: Mathias Nyman <mathias.nyman-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > ---
>
> ...
>
> > +static int tegra_xusb_remove(struct platform_device *pdev)
> > +{
> > + struct tegra_xusb *tegra = platform_get_drvdata(pdev);
> > + struct usb_hcd *hcd = tegra->hcd;
> > + struct xhci_hcd *xhci;
> > +
> > + if (tegra->fw_loaded) {
> > + xhci = hcd_to_xhci(hcd);
> > + usb_remove_hcd(xhci->shared_hcd);
> > + usb_put_hcd(xhci->shared_hcd);
> > + usb_remove_hcd(hcd);
> > + tegra_xusb_padctl_put(tegra->padctl);
> > + usb_put_hcd(hcd);
> > + kfree(xhci);
>
> Don't free xhci here, xhci is a part of hcd (hcd_priv) and hcd is already freed in usb_put_hcd()

Ah, this was indeed reported to me about two weeks ago and fixed since
then in my local tree.

> Other than that I can't see any issues

Thanks. Does this count as an Acked-by provided the kfree() is removed?

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]