At Thu, 19 Dec 2013 16:48:24 +0000, Lee Jones wrote: > > > > Commit '166a34d ASoC: ab8500: Fix invalid cast to long pointer' > > > rather carelessly converts find_next_bit() to fls() (find last > > > bit set), which are not the same. > > > > Does it break on the real machines? > > It does, that's how I found the bug. > > > fls() behaves differently from find_next_bit(), of course, but in this > > case, it should work same in the end, since there are at most two > > bits. > > Unfortunately it doesn't work at all. This patch brings audio back to > a working state. It took me the best part of a day to track down the > issue. :(
Hmm, then isn't the original code rather buggy? Check the values set there by ffs(), fls() and the original find_next_bit(), especially whether find_next_bit() gives a valid value fitting with the mask bits. Takashi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/