From: Clemens Ladisch Date: Mon, 3 Sep 2007 07:56:23 +0000 (+0200) Subject: [ALSA] cmipci: check that the legacy MIDI port works X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=88039815d8868fb507eb69448f5a3a65c90b0bf2;p=linux-beck.git [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 --- diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index fdc4615ea0e7..9149d00d1ad5 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; + } } }