Hi, the commit: commit 09fc7d22b024692b2fe8a943b246de1af307132b Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Apr 24 17:21:42 2013 +0300 usb: musb: fix incorrect usage of resource pointer We can't simply pass the resource pointer from our device down to our children, otherwise module reinsertion will not work as the resource will continue to be marked as busy. Fix it by building a proper struct resource for our child musb device. (even with the subsequent compile fix applied) breaks my USB-OTG port on my GTA04. I must admit that I don't see the point of the patch at all. Instead of passing one array to platform_device_add_resources() which will copy it into malloced space, it copies bits of the array onto the stack on passes that for platform_device_add_resources to copy. What is the value of the second copy?? But that isn't the real problem. The real problem is that in omap2430_probe, on my board at least, pdev->num_resources == 3. But only the first 2 entries in the array are copied. If I make the array one entry larger and copy the extra entry it works. Of course that might break for someone else who only has 2 resources to copy.... Can we go back to just leaving it to platform_device_add_resources to do the copying it have I missed something? (I can't see where the new old code would mark something as 'busy' that the new code won't mark as busy...) Thanks, NeilBrown
Attachment:
signature.asc
Description: PGP signature