On Mon, Apr 14, 2014 at 02:53:51PM -0600, Stephen Warren wrote: > On 04/04/2014 04:31 PM, Stephen Warren wrote: > > From: Stephen Warren <swarren at nvidia.com> > > > > BIT_WORD() truncates rather than rounds, so the loops in > > syncpt_thresh_isr() and _host1x_intr_disable_all_syncpt_intrs() use <= > > rather than < in an attempt to process the correct number of registers > > when rounding of the conversion of count of bits to count of words is > > necessary. However, when rounding isn't necessary because the value is > > already a multiple of the divisor (as is the case for all values of > > nb_pts the code actually sees), this causes one too many registers to > > be processed. > > > > Solve this by using and explicit DIV_ROUND_UP() call, rather than > > BIT_WORD(), and comparing with < rather than <=. > > I don't see this in linux-next yet.
Just in case you haven't noticed, this this was merged in v3.15-rc2. I've also Cc'ed stable so that it can be applied as far back as 3.10 when the code it fixes was introduced. Thierry -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140422/eb475c2f/attachment.sig>