Revert "bluetooth: Auto recover if profile is 'off'"

This reverts commit 69c212f8c1.

Reasons:

The original reason for the patch was to work around some issue
regarding the profile not connecting immediately (sorry, I don't really
know the details), but that issue was fixed later by commit 998dfdf4cc,
so the original reason doesn't apply any more.

Automatically changing the profile when the transport state changes to
PLAYING has traditionally been handled by module-bluetooth-policy, and
as far as I can tell, there's no reason to change that.

The assertion is unsafe. It's not guaranteed that the profile change
will always succeed (at least pa_thread_mq_init() can fail due to
reaching the maximum file descriptor limit).
This commit is contained in:
Tanu Kaskinen 2017-06-13 19:02:37 +03:00
parent bbac59b0e4
commit 5f29e670cb

View file

@ -2126,14 +2126,8 @@ static pa_hook_result_t transport_state_changed_cb(pa_bluetooth_discovery *y, pa
if (t == u->transport && t->state <= PA_BLUETOOTH_TRANSPORT_STATE_DISCONNECTED) if (t == u->transport && t->state <= PA_BLUETOOTH_TRANSPORT_STATE_DISCONNECTED)
pa_assert_se(pa_card_set_profile(u->card, pa_hashmap_get(u->card->profiles, "off"), false) >= 0); pa_assert_se(pa_card_set_profile(u->card, pa_hashmap_get(u->card->profiles, "off"), false) >= 0);
if (t->device == u->device) { if (t->device == u->device)
/* Auto recover from errors causing the profile to be set to off */
if (u->profile == PA_BLUETOOTH_PROFILE_OFF && t->state == PA_BLUETOOTH_TRANSPORT_STATE_PLAYING) {
pa_log_debug("Switching to profile %s", pa_bluetooth_profile_to_string(t->profile));
pa_assert_se(pa_card_set_profile(u->card, pa_hashmap_get(u->card->profiles, pa_bluetooth_profile_to_string(t->profile)), false) >= 0);
}
handle_transport_state_change(u, t); handle_transport_state_change(u, t);
}
return PA_HOOK_OK; return PA_HOOK_OK;
} }