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

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

 



On Fri, Jul 26, 2013 at 07:14:45PM +1000, NeilBrown wrote:
> 
> 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??

if you don't do that, the resource will already be busy and ioremap will
fail on second modprobe.

> 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...)

patches already in Greg's queue

-- 
balbi

Attachment: signature.asc
Description: Digital 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