Messages in this thread |  | | | Date | Wed, 6 Apr 2011 17:25:52 +0200 | | From | "Roedel, Joerg" <> | | Subject | Re: [PATCH] USB host: Fix lockdep warning in AMD PLL quirk |
| |
On Wed, Apr 06, 2011 at 11:16:07AM -0400, Alan Stern wrote: > On Wed, 6 Apr 2011, Joerg Roedel wrote: > > amd_chipset.probe_count++; > > /* probe only once */ > > if (amd_chipset.probe_count > 1) { > > spin_unlock_irqrestore(&amd_lock, flags); > > return amd_chipset.probe_result; > > } > > The counter really should be a bool: Has the chipset already been > probed or not? After all, nobody cares how many times this routine was > called.
The quirk function needs a re-structuring anyway. The code-path is not very straight-forward and readable. But for this fix I tried to keep the changes small.
> > > + spin_unlock_irqrestore(&amd_lock, flags); > > This code now contains a bug: You incremented the probe_count _before_ > doing the probe. If another thread calls this routine right now, it > will get an incorrect result. > > Fixing this up should be fairly easy.
Okay, I will do. Thanks for the feedback.
Joerg
-- AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
|  |