omap2430 regression due to "usb: musb: fix incorrect usage of resource pointer"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux