On Tue, 22 Mar 2022 21:06:54 +0100, Giacomo Guiduzzi wrote: > > Tests 72 and 78 for ALSA in kselftest fail due to reading > inconsistent values from some devices on a VirtualBox > Virtual Machine using the snd_intel8x0 driver for the AC'97 > Audio Controller device. > Taking for example test number 72, this is what the test reports: > "Surround Playback Volume.0 expected 1 but read 0, is_volatile 0" > "Surround Playback Volume.1 expected 0 but read 1, is_volatile 0" > These errors repeat for each value from 0 to 31. > > Taking a look at these error messages it is possible to notice > that the written values are read back swapped. > When the write is performed, these values are initially stored in > an array used to sanity-check them and write them in the pcmreg > array. To write them, the two one-byte values are packed together > in a two-byte variable through bitwise operations: the first > value is shifted left by one byte and the second value is stored in the > right byte through a bitwise OR. When reading the values back, > right shifts are performed to retrieve the previously stored > bytes. These shifts are executed in the wrong order, thus > reporting the values swapped as shown above. > > This patch fixes this mistake by reversing the read > operations' order. > > Signed-off-by: Giacomo Guiduzzi <guiduzzi.giacomo@xxxxxxxxx> > Signed-off-by: Paolo Valente <paolo.valente@xxxxxxxxxx> Thanks, applied now. Takashi