EHOSTDOWN error is now overwritten by EIO and once it's passed to
device_profile_connected it triggers connection of another profiles
while it should actually stop connecting them.
Change-Id: I2a2f802c582214170f7a2c8d89a550c72d07efab
Signed-off-by: Sebastian Chlad <sebastianx.chlad@intel.com>
if (err) {
avdtp_unref(sink->session);
sink->session = NULL;
- if (avdtp_error_category(err) == AVDTP_ERRNO
- && avdtp_error_posix_errno(err) != EHOSTDOWN) {
- perr = -EAGAIN;
- } else
- perr = -EIO;
+
+ perr = -avdtp_error_posix_errno(err);
+ if (perr != -EHOSTDOWN) {
+ if (avdtp_error_category(err) == AVDTP_ERRNO)
+ perr = -EAGAIN;
+ else
+ perr = -EIO;
+ }
goto failed;
}
if (err) {
avdtp_unref(source->session);
source->session = NULL;
- if (avdtp_error_category(err) == AVDTP_ERRNO
- && avdtp_error_posix_errno(err) != EHOSTDOWN) {
- perr = -EAGAIN;
- } else
- perr = -EIO;
+
+ perr = -avdtp_error_posix_errno(err);
+ if (perr != -EHOSTDOWN) {
+ if (avdtp_error_category(err) == AVDTP_ERRNO)
+ perr = -EAGAIN;
+ else
+ perr = -EIO;
+ }
goto failed;
}