> -----Original Message----- > From: Marek Vasut [mailto:ma...@denx.de] > Sent: Thursday, October 18, 2012 3:16 PM > To: Liu Shengzhou-B36685 > Cc: u-boot@lists.denx.de; Stefan Roese; ag...@denx.de > Subject: Re: [PATCH] powerpc/usb: fix bug of CPU hang when missing USB > PHY clock > > Dear Liu Shengzhou-B36685, > > > > -----Original Message----- > > > > > > > +/* Check USB PHY clock valid */ > > > > +static int usb_phy_clk_valid(struct usb_ehci *ehci) { > > > > + if ((!(in_be32(&ehci->control) & PHY_CLK_VALID)) && > > > > + (!in_be32(&ehci->prictrl))) { > > > > > > (!A && !B) condition can certainly be done without the double negation ;-) > > > > [Shengzhou] Yes, using !(A||B) is also okay:) > > Good, you did your logic homework well. Now go one step further: > > if (a || b) > return 1; > [Shengzhou] No, this doesn't work, b is 0 at initial time, but b is 1 at the second time, a is depend on the register PHY_CLK_VALID bit, We just want to check it at the first time and then think it is always valid after that, it's using a trick:)
> printf() > return 0; > > How will that work? _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot