From 88039815d8868fb507eb69448f5a3a65c90b0bf2 Mon Sep 17 00:00:00 2001 From: Clemens Ladisch Date: Mon, 3 Sep 2007 09:56:23 +0200 Subject: [ALSA] cmipci: check that the legacy MIDI port works Check that the UART_EN bit actually enabled the MPU-401 port. Apparently, C-Media thinks that it is a good idea to be paranoid here. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela --- sound/pci/cmipci.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sound/pci/cmipci.c') diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index fdc4615ea0e..9149d00d1ad 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c @@ -3012,6 +3012,13 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc snd_cmipci_write(cm, CM_REG_LEGACY_CTRL, val); /* enable UART */ snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_UART_EN); + if (inb(iomidi + 1) == 0xff) { + snd_printk(KERN_ERR "cannot enable MPU-401 port" + " at %#lx\n", iomidi); + snd_cmipci_clear_bit(cm, CM_REG_FUNCTRL1, + CM_UART_EN); + iomidi = 0; + } } } -- cgit v1.2.3