summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2008-09-24 15:25:28 +0200
committerClemens Ladisch <clemens@ladisch.de>2008-09-24 15:25:28 +0200
commitcdad5b8db91ac46a8e226306d062fe4c896b2bed (patch)
tree3057725efc32290ba69d98db1cf4bd80ce3c9a43
parentba8ed1210b4e5449c80beef321c4459e840fece1 (diff)
downloadlinux-3.10-cdad5b8db91ac46a8e226306d062fe4c896b2bed.tar.gz
linux-3.10-cdad5b8db91ac46a8e226306d062fe4c896b2bed.tar.bz2
linux-3.10-cdad5b8db91ac46a8e226306d062fe4c896b2bed.zip
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>
-rw-r--r--sound/pci/oxygen/oxygen_io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/oxygen/oxygen_io.c b/sound/pci/oxygen/oxygen_io.c
index deba7389aec..3126c4b403d 100644
--- a/sound/pci/oxygen/oxygen_io.c
+++ b/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)
{
_write_uart(chip, 1, MPU401_RESET);
+ msleep(1); /* wait for ACK */
_write_uart(chip, 1, MPU401_ENTER_UART);
}
EXPORT_SYMBOL(oxygen_reset_uart);