diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index b5a87ca8f1108..80b73d3677b0b 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -640,8 +640,11 @@ public class UsbDeviceManager { // Set the new USB configuration. setUsbConfig(oemFunctions); - // Start up dependent services. - updateUsbStateBroadcastIfNeeded(true); + if (UsbManager.containsFunction(functions, UsbManager.USB_FUNCTION_MTP) + || UsbManager.containsFunction(functions, UsbManager.USB_FUNCTION_PTP)) { + // Start up dependent services. + updateUsbStateBroadcastIfNeeded(true); + } if (!waitForState(oemFunctions)) { Slog.e(TAG, "Failed to switch USB config to " + functions);