Hi,
On 27-06-16 10:59, Siva Durga Prasad Paladugu wrote:
This patch fixes the issue on zynq USB failure with DM
when rootdev is not initialized. This variable is initalized
to zero in non driver model case but not in DM.
Signed-off-by: Siva Durga Prasad Paladugu <[email protected]>
---
- Tested on Zynq ZC702 board with USB DM driver model patches
sent by Simon.
This patch does not seem like the right fix, normally something
like the ehci_ctrl struct would be allocated by dm by setting
priv_auto_alloc_size in the driver description, and then the
data will get calloc-ed. If you're allocating the ehci_ctrl struct
differently and not memsetting it to 0 you may have other bugs
lurking, or may get new bugs when new members get added in the
future.
My advice would be to use priv_auto_alloc_size, see .e.g :
drivers/usb/host/ehci-sunxi.c
If you cannot use that for some reason, make sure to memset
struct ehci_Ctrl to 0 before calling ehci_register()
Regards,
Hans
---
drivers/usb/host/ehci-hcd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 13aa70d..8adffa6 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -1624,6 +1624,8 @@ int ehci_register(struct udevice *dev, struct ehci_hccr
*hccr,
goto err;
}
+ ctrl->rootdev = 0;
+
ret = ehci_common_init(ctrl, tweaks);
if (ret)
goto err;
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot