Due to battery consumption, the suspend will work even if the 3Gfunction is available.
Here’s the schematic design of 3G function.
When CPU enters suspend, USB also enters suspend.
But 3G module would be triggered at the random time because the remotebase station may sent its messages to it.
So once the CPU is woken by such source, the status of USB isn’t resumedfrom suspend, but disconnected.
In this case, we’ve added the workaround here. If USB is disconnected,we will recover the 3G function by running the process(rild) again.