diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index 39da224bca7e4..de5cafb3074a0 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -570,8 +570,11 @@ public class UsbDeviceManager { // Set the new USB configuration. setUsbConfig(functions); - // 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(functions)) { Slog.e(TAG, "Failed to switch USB config to " + functions);