On Thu, 5 May 2005, Thiemo Seufer wrote:
> > > I'm just using USB host support on a AU1100 developing board (DB1100
> > > configuration) and i notice that CPU locks in function
> > > au1xxx_start_hc():
> > >
> > > /* wait for reset complete (read register twice; see au1500
> > > errata) */
> > > while (au_readl(USB_HOST_CONFIG),
> > > !(au_readl(USB_HOST_CONFIG) & USBH_ENABLE_RD))
> > > udelay(1000);
> > >
> > > while waiting for USB controller to reset. I checked it out and I
> > > discovered that register USB_HOST_CONFIG is fixed at value 0xe! So the
> > > controller never reset...
> > >
> > > Linux is 2.6.12-rc3 from CVS.
> > >
> > > Someone knows whats wrong?
> >
> > It sounds like this is a custom Au1100 based board? What boot code are
> > you running? I'm guessing the SOC isn't setup correctly or you have a
> > HW problem.
>
> I wonder if the code works reliable. At least, a comma operator isn't a
> sequence point, which means the compiler is free to change the execution
> order.
Good point -- even though the code is valid C, it's complete rubbish.
I'd suggest rewriting it to get something readable first.
Maciej
|