diff options
Diffstat (limited to 'sound/pci/oxygen/oxygen_lib.c')
| -rw-r--r-- | sound/pci/oxygen/oxygen_lib.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/sound/pci/oxygen/oxygen_lib.c b/sound/pci/oxygen/oxygen_lib.c index 02191c6a4e7..b1997216b4a 100644 --- a/sound/pci/oxygen/oxygen_lib.c +++ b/sound/pci/oxygen/oxygen_lib.c @@ -502,10 +502,15 @@ int oxygen_pci_probe(struct pci_dev *pci, int index, char *id,  	if (err < 0)  		goto err_card; -	if (chip->model.misc_flags & OXYGEN_MISC_MIDI) { +	if (chip->model.device_config & (MIDI_OUTPUT | MIDI_INPUT)) { +		unsigned int info_flags = MPU401_INFO_INTEGRATED; +		if (chip->model.device_config & MIDI_OUTPUT) +			info_flags |= MPU401_INFO_OUTPUT; +		if (chip->model.device_config & MIDI_INPUT) +			info_flags |= MPU401_INFO_INPUT;  		err = snd_mpu401_uart_new(card, 0, MPU401_HW_CMIPCI,  					  chip->addr + OXYGEN_MPU401, -					  MPU401_INFO_INTEGRATED, 0, 0, +					  info_flags, 0, 0,  					  &chip->midi);  		if (err < 0)  			goto err_card;  |