diff options
author | Brian Downing <bdowning@lavos.net> | 2012-08-04 18:32:19 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-08-07 14:26:17 +0300 |
commit | decadacbd7259b1dce0aeb9cb4468432edf88fb4 (patch) | |
tree | ffeb4c3de8176a69a54b733490f43c6ae26ba0cf /drivers | |
parent | a156544bc90e82d61bd7c25e6258e4da32256bea (diff) |
usb: musb: Fix bad call to kfree() in musb_free
Commit 622859634a663c5e55d0e2a2cdbb55ac058d97b3 (usb: musb: drop a
gigantic amount of ifdeferry) included this change:
@@ -1901,11 +1844,7 @@ static void musb_free(struct musb *musb)
dma_controller_destroy(c);
}
-#ifdef CONFIG_USB_MUSB_HDRC_HCD
- usb_put_hcd(musb_to_hcd(musb));
-#else
kfree(musb);
-#endif
}
/*
Since musb comes from struct usb_hcd's hcd_priv, which is allocated on
the end of that struct, kfree'ing it is not going to work. Replace
kfree(musb) with usb_put_hcd(musb_to_hcd(musb)), which appears to be
the right thing to do here.
Signed-off-by: Brian Downing <bdowning@lavos.net>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/musb/musb_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 9bc4feab4fe..65b3f531092 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -1868,7 +1868,7 @@ static void musb_free(struct musb *musb) dma_controller_destroy(c); } - kfree(musb); + usb_put_hcd(musb_to_hcd(musb)); } /* |