Re: [PATCH BUGFIX] ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux