Эх сурвалжийг харах

ALSA: oxygen: wait for ACK when resetting UART

After sending a reset command to the UART, wait some time for the ACK to
be generated (and to be read and dropped by the interrupt handler)
before sending the next command.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch 16 жил өмнө
parent
commit
cdad5b8db9

+ 1 - 0
sound/pci/oxygen/oxygen_io.c

@@ -244,6 +244,7 @@ static void _write_uart(struct oxygen *chip, unsigned int port, u8 data)
 void oxygen_reset_uart(struct oxygen *chip)
 void oxygen_reset_uart(struct oxygen *chip)
 {
 {
 	_write_uart(chip, 1, MPU401_RESET);
 	_write_uart(chip, 1, MPU401_RESET);
+	msleep(1); /* wait for ACK */
 	_write_uart(chip, 1, MPU401_ENTER_UART);
 	_write_uart(chip, 1, MPU401_ENTER_UART);
 }
 }
 EXPORT_SYMBOL(oxygen_reset_uart);
 EXPORT_SYMBOL(oxygen_reset_uart);