linux-mips
[Top] [All Lists]

Re: USB hangs on AU1100

To: "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: USB hangs on AU1100
From: Pete Popov <ppopov@embeddedalley.com>
Date: Thu, 05 May 2005 11:50:14 -0700
Cc: Thiemo Seufer <ths@networkno.de>, "'linux-mips@linux-mips.org'" <linux-mips@linux-mips.org>
In-reply-to: <Pine.LNX.4.61L.0505051847410.21387@blysk.ds.pg.gda.pl>
Organization: Embedded Alley Solutions, Inc
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20050505155435.GA28227@enneenne.com> <1115311361.1614.6.camel@localhost.localdomain> <20050505172017.GC1628@hattusa.textio> <Pine.LNX.4.61L.0505051847410.21387@blysk.ds.pg.gda.pl>
Reply-to: ppopov@embeddedalley.com
Sender: linux-mips-bounce@linux-mips.org
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


<Prev in Thread] Current Thread [Next in Thread>