<p>A system and method of managing power of a multi-function USB device suspends the device in response to receipt of a request to suspend from a USB host; assigns respective device functions to indefinite, locked or unlocked states; allows the device to resume if there are data or requests for host attention pending at a given function that is in the unlocked state and assigning the given function to the locked state; and otherwise maintains the suspend even if there are data are pending at one or more functions that are in the locked state.</p>