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 10:24:58PM +1000, NeilBrown wrote:
> On Fri, 26 Jul 2013 13:20:08 +0300 Felipe Balbi <balbi@xxxxxx> wrote:
> 
> > 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.
> 
> Ahhh... the parent/sibling/child linkage - got it.
> 
> > 
> > > 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
> > 
> 
> Thanks. 
> Doesn't seem to be in the usb-next or usb-linus branches of 
> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
> Can you give me a pointer?

hmmm, looks like this is not in greg/usb-linus indeed. I'll send him
another pull request on monday. If you wanna try, use my 'fixes' branch
on kernel.org.

cheers

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