On Thu, 2005-05-05 at 18:51 +0100, Maciej W. Rozycki wrote: > 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 > oot 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. Interesting. I hadn't looked at this chunk of code before. Pete