ALSA: oxygen: wait for ACK when resetting UART
authorClemens Ladisch <clemens@ladisch.de>
Wed, 24 Sep 2008 13:25:28 +0000 (15:25 +0200)
committerClemens Ladisch <clemens@ladisch.de>
Wed, 24 Sep 2008 13:25:28 +0000 (15:25 +0200)
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>
sound/pci/oxygen/oxygen_io.c

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