diff options
| author | 2022-01-27 19:30:59 +0000 | |
|---|---|---|
| committer | 2022-01-27 19:30:59 +0000 | |
| commit | 19f083cda71b5903cff38bd71b9b4bd489d32db5 (patch) | |
| tree | 52765dc6a535e9e59e024b00330142395d76c9cb | |
| parent | 5c0a8f516977b76d8e7099fa03dbba6232fd3864 (diff) | |
| parent | 4c6239b1564f123dac66600c8a63b509ba3bbcf5 (diff) | |
Merge "Don't call setInterface when querying protocol"
| -rw-r--r-- | services/usb/java/com/android/server/usb/UsbUniversalMidiDevice.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbUniversalMidiDevice.java b/services/usb/java/com/android/server/usb/UsbUniversalMidiDevice.java index db0c80f189d3..13d404caf6a2 100644 --- a/services/usb/java/com/android/server/usb/UsbUniversalMidiDevice.java +++ b/services/usb/java/com/android/server/usb/UsbUniversalMidiDevice.java @@ -218,14 +218,13 @@ public final class UsbUniversalMidiDevice implements Closeable { if (doesInterfaceContainInput && doesInterfaceContainOutput) { UsbDeviceConnection connection = manager.openDevice(mUsbDevice); - if (!connection.claimInterface(interfaceDescriptor.toAndroid(mParser), true)) { - Log.d(TAG, "Can't claim control interface"); - continue; - } + + // The ALSA does not handle switching to the MIDI 2.0 interface correctly + // and stops exposing /dev/snd/midiC1D0 after calling connection.setInterface(). + // Thus, simply use the control interface (interface zero). int defaultMidiProtocol = mMidiBlockParser.calculateMidiType(connection, - interfaceDescriptor.getInterfaceNumber(), + 0, interfaceDescriptor.getAlternateSetting()); - connection.close(); return defaultMidiProtocol; } |