/** Called when the radio indicates the connection has been disconnected */
  public void onDisconnect(DisconnectCause cause) {
    this.cause = cause;

    if (!disconnected) {
      doDisconnect();
      if (false) Log.d(LOG_TAG, "onDisconnect: cause=" + cause);
      owner.phone.notifyDisconnect(this);

      if (parent != null) {
        parent.connectionDisconnected(this);
      }
    }
    releaseWakeLock();
  }