diff mbox series

[BlueZ,v6,1/4] doc: Add errors.txt to describe errors of D-Bus method returns

Message ID 20210921094400.BlueZ.v6.1.Ide6362da19898d001b053656ee8bf76e183633d8@changeid (mailing list archive)
State Superseded
Headers show
Series Detailed error string | expand

Checks

Context Check Description
tedd_an/checkpatch success Checkpatch PASS
tedd_an/gitlint fail [BlueZ,v6,1/4] doc: Add errors.txt to describe errors of D-Bus method returns 1: T8 Title is too short (3<5): "---"
tedd_an/setupell success Setup ELL PASS
tedd_an/buildprep success Build Prep PASS
tedd_an/build success Build Configuration PASS
tedd_an/makecheck fail Make Check FAIL: src/error.c: In function ‘btd_error_bredr_conn_from_errno’: src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function) 140 | case EALREADY: | ^~~~~~~~ src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function) 141 | case EISCONN: | ^~~~~~~ src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 143 | case EHOSTDOWN: | ^~~~~~~~~ src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 145 | case ENOPROTOOPT: | ^~~~~~~~~~~ src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function) 147 | case EIO: | ^~~ src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function) 149 | case EINVAL: | ^~~~~~ src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 151 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 153 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 154 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function) 156 | case EBADFD: | ^~~~~~ src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function) 158 | case ENOMEM: | ^~~~~~ src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function) 160 | case EBUSY: | ^~~~~ src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function) 162 | case EMLINK: | ^~~~~~ src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 164 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’? 166 | case ECONNREFUSED: | ^~~~~~~~~~~~ | ERR_LE_CONN_REFUSED src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function) 168 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 170 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function) 172 | case EPROTO: | ^~~~~~ src/error.c: In function ‘btd_error_le_conn_from_errno’: src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function) 182 | case EINVAL: | ^~~~~~ src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 184 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 186 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 187 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function) 189 | case EALREADY: | ^~~~~~~~ src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function) 190 | case EISCONN: | ^~~~~~~ src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function) 192 | case EBADFD: | ^~~~~~ src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function) 194 | case ENOMEM: | ^~~~~~ src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function) 196 | case EBUSY: | ^~~~~ src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’? 198 | case ECONNREFUSED: | ^~~~~~~~~~~~ | ERR_LE_CONN_REFUSED src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function) 200 | case EIO: | ^~~ src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 202 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function) 204 | case EMLINK: | ^~~~~~ src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function) 206 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 208 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function) 210 | case EPROTO: | ^~~~~~ make[1]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1 make: *** [Makefile:10443: check] Error 2
tedd_an/makedistcheck fail Make Distcheck Make FAIL: ../../src/error.c: In function ‘btd_error_bredr_conn_from_errno’: ../../src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function) 140 | case EALREADY: | ^~~~~~~~ ../../src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in ../../src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function) 141 | case EISCONN: | ^~~~~~~ ../../src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 143 | case EHOSTDOWN: | ^~~~~~~~~ ../../src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 145 | case ENOPROTOOPT: | ^~~~~~~~~~~ ../../src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function) 147 | case EIO: | ^~~ ../../src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function) 149 | case EINVAL: | ^~~~~~ ../../src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 151 | case EHOSTUNREACH: | ^~~~~~~~~~~~ ../../src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 153 | case EOPNOTSUPP: | ^~~~~~~~~~ ../../src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 154 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ ../../src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function) 156 | case EBADFD: | ^~~~~~ ../../src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function) 158 | case ENOMEM: | ^~~~~~ ../../src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function) 160 | case EBUSY: | ^~~~~ ../../src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function) 162 | case EMLINK: | ^~~~~~ ../../src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 164 | case ETIMEDOUT: | ^~~~~~~~~ ../../src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 166 | case ECONNREFUSED: | ^~~~~~~~~~~~ ../../src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function) 168 | case ECONNRESET: | ^~~~~~~~~~ ../../src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 170 | case ECONNABORTED: | ^~~~~~~~~~~~ ../../src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function) 172 | case EPROTO: | ^~~~~~ ../../src/error.c: In function ‘btd_error_le_conn_from_errno’: ../../src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function) 182 | case EINVAL: | ^~~~~~ ../../src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 184 | case EHOSTUNREACH: | ^~~~~~~~~~~~ ../../src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 186 | case EOPNOTSUPP: | ^~~~~~~~~~ ../../src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 187 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ ../../src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function) 189 | case EALREADY: | ^~~~~~~~ ../../src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function) 190 | case EISCONN: | ^~~~~~~ ../../src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function) 192 | case EBADFD: | ^~~~~~ ../../src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function) 194 | case ENOMEM: | ^~~~~~ ../../src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function) 196 | case EBUSY: | ^~~~~ ../../src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 198 | case ECONNREFUSED: | ^~~~~~~~~~~~ ../../src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function) 200 | case EIO: | ^~~ ../../src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 202 | case ETIMEDOUT: | ^~~~~~~~~ ../../src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function) 204 | case EMLINK: | ^~~~~~ ../../src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function) 206 | case ECONNRESET: | ^~~~~~~~~~ ../../src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 208 | case ECONNABORTED: | ^~~~~~~~~~~~ ../../src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function) 210 | case EPROTO: | ^~~~~~ make[2]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1 make[1]: *** [Makefile:4151: all] Error 2 make: *** [Makefile:10364: distcheck] Error 1
tedd_an/build_extell success Build External ELL PASS
tedd_an/build_extell_make fail Build Make with External ELL FAIL: src/error.c: In function ‘btd_error_bredr_conn_from_errno’: src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function) 140 | case EALREADY: | ^~~~~~~~ src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function) 141 | case EISCONN: | ^~~~~~~ src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 143 | case EHOSTDOWN: | ^~~~~~~~~ src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 145 | case ENOPROTOOPT: | ^~~~~~~~~~~ src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function) 147 | case EIO: | ^~~ src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function) 149 | case EINVAL: | ^~~~~~ src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 151 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 153 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 154 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function) 156 | case EBADFD: | ^~~~~~ src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function) 158 | case ENOMEM: | ^~~~~~ src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function) 160 | case EBUSY: | ^~~~~ src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function) 162 | case EMLINK: | ^~~~~~ src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 164 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’? 166 | case ECONNREFUSED: | ^~~~~~~~~~~~ | ERR_LE_CONN_REFUSED src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function) 168 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 170 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function) 172 | case EPROTO: | ^~~~~~ src/error.c: In function ‘btd_error_le_conn_from_errno’: src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function) 182 | case EINVAL: | ^~~~~~ src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 184 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 186 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 187 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function) 189 | case EALREADY: | ^~~~~~~~ src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function) 190 | case EISCONN: | ^~~~~~~ src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function) 192 | case EBADFD: | ^~~~~~ src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function) 194 | case ENOMEM: | ^~~~~~ src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function) 196 | case EBUSY: | ^~~~~ src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’? 198 | case ECONNREFUSED: | ^~~~~~~~~~~~ | ERR_LE_CONN_REFUSED src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function) 200 | case EIO: | ^~~ src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 202 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function) 204 | case EMLINK: | ^~~~~~ src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function) 206 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 208 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function) 210 | case EPROTO: | ^~~~~~ make[1]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1 make: *** [Makefile:4151: all] Error 2

Commit Message

Miao-chen Chou Sept. 21, 2021, 4:47 p.m. UTC
---

(no changes since v5)

Changes in v5:
- Remove the use of error codes.

 doc/errors.txt | 233 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 233 insertions(+)
 create mode 100644 doc/errors.txt

Comments

bluez.test.bot@gmail.com Sept. 21, 2021, 5:13 p.m. UTC | #1
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=550479

---Test result---

Test Summary:
CheckPatch                    FAIL      20.88 seconds
GitLint                       FAIL      19.06 seconds
Prep - Setup ELL              PASS      42.27 seconds
Build - Prep                  PASS      0.47 seconds
Build - Configure             PASS      7.67 seconds
Build - Make                  FAIL      155.47 seconds
Make Check                    FAIL      0.88 seconds
Make Distcheck                FAIL      143.37 seconds
Build w/ext ELL - Configure   PASS      7.66 seconds
Build w/ext ELL - Make        FAIL      144.25 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
[BlueZ,v6,2/4] error: BR/EDR and LE connection failure reasons
ERROR:POINTER_LOCATION: "foo* bar" should be "foo *bar"
#175: FILE: src/error.c:137:
+const char* btd_error_bredr_conn_from_errno(int errno_code)

ERROR:POINTER_LOCATION: "foo* bar" should be "foo *bar"
#217: FILE: src/error.c:179:
+const char* btd_error_le_conn_from_errno(int errno_code)

ERROR:POINTER_LOCATION: "foo* bar" should be "foo *bar"
#335: FILE: src/error.h:88:
+const char* btd_error_bredr_conn_from_errno(int errno_code);

ERROR:POINTER_LOCATION: "foo* bar" should be "foo *bar"
#336: FILE: src/error.h:89:
+const char* btd_error_le_conn_from_errno(int errno_code);

/github/workspace/src/12508365.patch total: 4 errors, 0 warnings, 203 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12508365.patch has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: GitLint - FAIL
Desc: Run gitlint with rule in .gitlint
Output:
[BlueZ,v6,1/4] doc: Add errors.txt to describe errors of D-Bus method returns
1: T8 Title is too short (3<5): "---"

[BlueZ,v6,2/4] error: BR/EDR and LE connection failure reasons
2: B4 Second line is not empty: "three."

[BlueZ,v6,3/4] device: Include detailed error string in Connect() return
2: B4 Second line is not empty: "string to better indicate the detailed failure reason so that the D-Bus"

[BlueZ,v6,4/4] client: Print error code for connect methods
1: T3 Title has trailing punctuation (.): "The following steps were performed."
2: B4 Second line is not empty: "- Issuing repeated commands to connect the same BLE device."


##############################
Test: Build - Make - FAIL
Desc: Build the BlueZ source tree
Output:
src/error.c: In function ‘btd_error_bredr_conn_from_errno’:
src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function)
  140 |  case EALREADY:
      |       ^~~~~~~~
src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in
src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function)
  141 |  case EISCONN:
      |       ^~~~~~~
src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function)
  143 |  case EHOSTDOWN:
      |       ^~~~~~~~~
src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function)
  145 |  case ENOPROTOOPT:
      |       ^~~~~~~~~~~
src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function)
  147 |  case EIO:
      |       ^~~
src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function)
  149 |  case EINVAL:
      |       ^~~~~~
src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  151 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  153 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  154 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function)
  156 |  case EBADFD:
      |       ^~~~~~
src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function)
  158 |  case ENOMEM:
      |       ^~~~~~
src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function)
  160 |  case EBUSY:
      |       ^~~~~
src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function)
  162 |  case EMLINK:
      |       ^~~~~~
src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  164 |  case ETIMEDOUT:
      |       ^~~~~~~~~
src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’?
  166 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
      |       ERR_LE_CONN_REFUSED
src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  168 |  case ECONNRESET:
      |       ^~~~~~~~~~
src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  170 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function)
  172 |  case EPROTO:
      |       ^~~~~~
src/error.c: In function ‘btd_error_le_conn_from_errno’:
src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function)
  182 |  case EINVAL:
      |       ^~~~~~
src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  184 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  186 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  187 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function)
  189 |  case EALREADY:
      |       ^~~~~~~~
src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function)
  190 |  case EISCONN:
      |       ^~~~~~~
src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function)
  192 |  case EBADFD:
      |       ^~~~~~
src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function)
  194 |  case ENOMEM:
      |       ^~~~~~
src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function)
  196 |  case EBUSY:
      |       ^~~~~
src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’?
  198 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
      |       ERR_LE_CONN_REFUSED
src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function)
  200 |  case EIO:
      |       ^~~
src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  202 |  case ETIMEDOUT:
      |       ^~~~~~~~~
src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function)
  204 |  case EMLINK:
      |       ^~~~~~
src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  206 |  case ECONNRESET:
      |       ^~~~~~~~~~
src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  208 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function)
  210 |  case EPROTO:
      |       ^~~~~~
make[1]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1
make: *** [Makefile:4151: all] Error 2


##############################
Test: Make Check - FAIL
Desc: Run 'make check'
Output:
src/error.c: In function ‘btd_error_bredr_conn_from_errno’:
src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function)
  140 |  case EALREADY:
      |       ^~~~~~~~
src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in
src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function)
  141 |  case EISCONN:
      |       ^~~~~~~
src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function)
  143 |  case EHOSTDOWN:
      |       ^~~~~~~~~
src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function)
  145 |  case ENOPROTOOPT:
      |       ^~~~~~~~~~~
src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function)
  147 |  case EIO:
      |       ^~~
src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function)
  149 |  case EINVAL:
      |       ^~~~~~
src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  151 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  153 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  154 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function)
  156 |  case EBADFD:
      |       ^~~~~~
src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function)
  158 |  case ENOMEM:
      |       ^~~~~~
src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function)
  160 |  case EBUSY:
      |       ^~~~~
src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function)
  162 |  case EMLINK:
      |       ^~~~~~
src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  164 |  case ETIMEDOUT:
      |       ^~~~~~~~~
src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’?
  166 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
      |       ERR_LE_CONN_REFUSED
src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  168 |  case ECONNRESET:
      |       ^~~~~~~~~~
src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  170 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function)
  172 |  case EPROTO:
      |       ^~~~~~
src/error.c: In function ‘btd_error_le_conn_from_errno’:
src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function)
  182 |  case EINVAL:
      |       ^~~~~~
src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  184 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  186 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  187 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function)
  189 |  case EALREADY:
      |       ^~~~~~~~
src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function)
  190 |  case EISCONN:
      |       ^~~~~~~
src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function)
  192 |  case EBADFD:
      |       ^~~~~~
src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function)
  194 |  case ENOMEM:
      |       ^~~~~~
src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function)
  196 |  case EBUSY:
      |       ^~~~~
src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’?
  198 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
      |       ERR_LE_CONN_REFUSED
src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function)
  200 |  case EIO:
      |       ^~~
src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  202 |  case ETIMEDOUT:
      |       ^~~~~~~~~
src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function)
  204 |  case EMLINK:
      |       ^~~~~~
src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  206 |  case ECONNRESET:
      |       ^~~~~~~~~~
src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  208 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function)
  210 |  case EPROTO:
      |       ^~~~~~
make[1]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1
make: *** [Makefile:10443: check] Error 2


##############################
Test: Make Distcheck - FAIL
Desc: Run distcheck to check the distribution
Output:
../../src/error.c: In function ‘btd_error_bredr_conn_from_errno’:
../../src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function)
  140 |  case EALREADY:
      |       ^~~~~~~~
../../src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in
../../src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function)
  141 |  case EISCONN:
      |       ^~~~~~~
../../src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function)
  143 |  case EHOSTDOWN:
      |       ^~~~~~~~~
../../src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function)
  145 |  case ENOPROTOOPT:
      |       ^~~~~~~~~~~
../../src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function)
  147 |  case EIO:
      |       ^~~
../../src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function)
  149 |  case EINVAL:
      |       ^~~~~~
../../src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  151 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
../../src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  153 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
../../src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  154 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
../../src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function)
  156 |  case EBADFD:
      |       ^~~~~~
../../src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function)
  158 |  case ENOMEM:
      |       ^~~~~~
../../src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function)
  160 |  case EBUSY:
      |       ^~~~~
../../src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function)
  162 |  case EMLINK:
      |       ^~~~~~
../../src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  164 |  case ETIMEDOUT:
      |       ^~~~~~~~~
../../src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function)
  166 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
../../src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  168 |  case ECONNRESET:
      |       ^~~~~~~~~~
../../src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  170 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
../../src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function)
  172 |  case EPROTO:
      |       ^~~~~~
../../src/error.c: In function ‘btd_error_le_conn_from_errno’:
../../src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function)
  182 |  case EINVAL:
      |       ^~~~~~
../../src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  184 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
../../src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  186 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
../../src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  187 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
../../src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function)
  189 |  case EALREADY:
      |       ^~~~~~~~
../../src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function)
  190 |  case EISCONN:
      |       ^~~~~~~
../../src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function)
  192 |  case EBADFD:
      |       ^~~~~~
../../src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function)
  194 |  case ENOMEM:
      |       ^~~~~~
../../src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function)
  196 |  case EBUSY:
      |       ^~~~~
../../src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function)
  198 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
../../src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function)
  200 |  case EIO:
      |       ^~~
../../src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  202 |  case ETIMEDOUT:
      |       ^~~~~~~~~
../../src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function)
  204 |  case EMLINK:
      |       ^~~~~~
../../src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  206 |  case ECONNRESET:
      |       ^~~~~~~~~~
../../src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  208 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
../../src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function)
  210 |  case EPROTO:
      |       ^~~~~~
make[2]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1
make[1]: *** [Makefile:4151: all] Error 2
make: *** [Makefile:10364: distcheck] Error 1


##############################
Test: Build w/ext ELL - Make - FAIL
Desc: Build BlueZ source with '--enable-external-ell' configuration
Output:
src/error.c: In function ‘btd_error_bredr_conn_from_errno’:
src/error.c:140:7: error: ‘EALREADY’ undeclared (first use in this function)
  140 |  case EALREADY:
      |       ^~~~~~~~
src/error.c:140:7: note: each undeclared identifier is reported only once for each function it appears in
src/error.c:141:7: error: ‘EISCONN’ undeclared (first use in this function)
  141 |  case EISCONN:
      |       ^~~~~~~
src/error.c:143:7: error: ‘EHOSTDOWN’ undeclared (first use in this function)
  143 |  case EHOSTDOWN:
      |       ^~~~~~~~~
src/error.c:145:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function)
  145 |  case ENOPROTOOPT:
      |       ^~~~~~~~~~~
src/error.c:147:7: error: ‘EIO’ undeclared (first use in this function)
  147 |  case EIO:
      |       ^~~
src/error.c:149:7: error: ‘EINVAL’ undeclared (first use in this function)
  149 |  case EINVAL:
      |       ^~~~~~
src/error.c:151:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  151 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
src/error.c:153:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  153 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
src/error.c:154:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  154 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
src/error.c:156:7: error: ‘EBADFD’ undeclared (first use in this function)
  156 |  case EBADFD:
      |       ^~~~~~
src/error.c:158:7: error: ‘ENOMEM’ undeclared (first use in this function)
  158 |  case ENOMEM:
      |       ^~~~~~
src/error.c:160:7: error: ‘EBUSY’ undeclared (first use in this function)
  160 |  case EBUSY:
      |       ^~~~~
src/error.c:162:7: error: ‘EMLINK’ undeclared (first use in this function)
  162 |  case EMLINK:
      |       ^~~~~~
src/error.c:164:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  164 |  case ETIMEDOUT:
      |       ^~~~~~~~~
src/error.c:166:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’?
  166 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
      |       ERR_LE_CONN_REFUSED
src/error.c:168:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  168 |  case ECONNRESET:
      |       ^~~~~~~~~~
src/error.c:170:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  170 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
src/error.c:172:7: error: ‘EPROTO’ undeclared (first use in this function)
  172 |  case EPROTO:
      |       ^~~~~~
src/error.c: In function ‘btd_error_le_conn_from_errno’:
src/error.c:182:7: error: ‘EINVAL’ undeclared (first use in this function)
  182 |  case EINVAL:
      |       ^~~~~~
src/error.c:184:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function)
  184 |  case EHOSTUNREACH:
      |       ^~~~~~~~~~~~
src/error.c:186:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function)
  186 |  case EOPNOTSUPP:
      |       ^~~~~~~~~~
src/error.c:187:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function)
  187 |  case EPROTONOSUPPORT:
      |       ^~~~~~~~~~~~~~~
src/error.c:189:7: error: ‘EALREADY’ undeclared (first use in this function)
  189 |  case EALREADY:
      |       ^~~~~~~~
src/error.c:190:7: error: ‘EISCONN’ undeclared (first use in this function)
  190 |  case EISCONN:
      |       ^~~~~~~
src/error.c:192:7: error: ‘EBADFD’ undeclared (first use in this function)
  192 |  case EBADFD:
      |       ^~~~~~
src/error.c:194:7: error: ‘ENOMEM’ undeclared (first use in this function)
  194 |  case ENOMEM:
      |       ^~~~~~
src/error.c:196:7: error: ‘EBUSY’ undeclared (first use in this function)
  196 |  case EBUSY:
      |       ^~~~~
src/error.c:198:7: error: ‘ECONNREFUSED’ undeclared (first use in this function); did you mean ‘ERR_LE_CONN_REFUSED’?
  198 |  case ECONNREFUSED:
      |       ^~~~~~~~~~~~
      |       ERR_LE_CONN_REFUSED
src/error.c:200:7: error: ‘EIO’ undeclared (first use in this function)
  200 |  case EIO:
      |       ^~~
src/error.c:202:7: error: ‘ETIMEDOUT’ undeclared (first use in this function)
  202 |  case ETIMEDOUT:
      |       ^~~~~~~~~
src/error.c:204:7: error: ‘EMLINK’ undeclared (first use in this function)
  204 |  case EMLINK:
      |       ^~~~~~
src/error.c:206:7: error: ‘ECONNRESET’ undeclared (first use in this function)
  206 |  case ECONNRESET:
      |       ^~~~~~~~~~
src/error.c:208:7: error: ‘ECONNABORTED’ undeclared (first use in this function)
  208 |  case ECONNABORTED:
      |       ^~~~~~~~~~~~
src/error.c:210:7: error: ‘EPROTO’ undeclared (first use in this function)
  210 |  case EPROTO:
      |       ^~~~~~
make[1]: *** [Makefile:9338: src/bluetoothd-error.o] Error 1
make: *** [Makefile:4151: all] Error 2




---
Regards,
Linux Bluetooth
diff mbox series

Patch

diff --git a/doc/errors.txt b/doc/errors.txt
new file mode 100644
index 000000000..047610c74
--- /dev/null
+++ b/doc/errors.txt
@@ -0,0 +1,233 @@ 
+D-Bus Method Return Error Codes
+===============================
+
+The motivation of having detailed error is to provide context-based failure
+reasons along with D-Bus method return so that D-Bus clients can build metrics
+and optimize their application based on these failure reasons. For instance, a
+client can build retry mechanism for a connection failure or improve the
+bottleneck of use scenario based on actionable metrics.
+
+These error codes are context-based but not necessarily tied to interface or
+method calls. For instance, if a pairing request failed due to connection
+failure, connection error would be attached to the method return of Pair().
+
+BR/EDR connection already connected
+===================================
+	errno:	EALREADY, EISCONN
+
+	Either the profile is already connected or ACL connection is in place.
+
+BR/EDR connection page timeout
+==============================
+	errno:	EHOSTDOWN
+
+	Failed due to page timeout.
+
+BR/EDR connection profile unavailable
+=====================================
+	errno:	ENOPROTOOPT
+
+	Failed to find connectable services or the target service.
+
+BR/EDR connection SDP search
+============================
+	errno:	none
+
+	Failed to complete the SDP search.
+
+BR/EDR connection create socket
+===============================
+	errno:	EIO
+
+	Failed to create or connect to BT IO socket. This can also indicate
+	hardware failure in the controller.
+
+BR/EDR connection invalid arguments
+===================================
+	errno:	EHOSTUNREACH
+
+	Failed due to invalid arguments.
+
+BR/EDR connection not powered
+=============================
+	errno:	EHOSTUNREACH
+
+	Failed due to adapter not powered.
+
+BR/EDR connection not supported
+===============================
+	errno:	EOPNOTSUPP, EPROTONOSUPPORT
+
+	Failed due to unsupported state transition of L2CAP channel or other
+	features either by the local host or the remote.
+
+BR/EDR connection bad socket
+============================
+	errno:	EBADFD
+
+	Failed due to the socket is in bad state.
+
+BR/EDR connection memory allocation
+===================================
+	errno:	ENOMEM
+
+	Failed to allocate memory in either host stack or controller.
+
+BR/EDR connection busy
+======================
+	errno:	EBUSY
+
+	Failed due to other ongoing operations, such as pairing, busy L2CAP
+	channel or the operation disallowed by the controller.
+
+BR/EDR connection concurrent connection limit
+=============================================
+	errno:	EMLINK
+
+	Failed due to reaching the concurrent connection limit to a device.
+
+BR/EDR connection timeout
+=========================
+	errno:	ETIMEDOUT
+
+	Failed due to connection timeout
+
+BR/EDR connection refused
+=========================
+	errno:	ECONNREFUSED
+
+	Refused by the remote device due to limited resource, security reason
+	or unacceptable address type.
+
+BR/EDR connection aborted by remote
+===================================
+	errno:	ECONNRESET
+
+	Terminated by the remote device due to limited resource or power off.
+
+BR/EDR connection aborted by local
+==================================
+	errno:	ECONNABORTED
+
+	Aborted by the local host.
+
+BR/EDR connection LMP protocol error
+====================================
+	errno:	EPROTO
+
+	Failed due to LMP protocol error.
+
+BR/EDR connection canceled
+==========================
+	errno:	none
+
+	Failed due to cancellation caused by adapter drop, unexpected device
+	drop, orincoming disconnection request before connection request is
+	completed.
+
+BR/EDR connection unknown error
+===============================
+	errno:	ENOSYS
+
+	Failed due to unknown reason.
+
+LE connection invalid arguments
+===============================
+	errno:	EINVAL
+
+	Failed due to invalid arguments.
+
+LE connection not powered
+=========================
+	errno:	EHOSTUNREACH
+
+	Failed due to adapter not powered.
+
+LE connection not supported
+===========================
+	errno:	EOPNOTSUPP, EPROTONOSUPPORT
+
+	Failed due to unsupported state transition of L2CAP channel or other
+	features (e.g. LE features) either by the local host or the remote.
+
+LE connection already connected
+===============================
+	errno: EALREADY, EISCONN
+
+	Either the BT IO is already connected or LE link connection in place.
+
+LE connection bad socket
+========================
+	errno: EBADFD
+
+	Failed due to the socket is in bad state.
+
+LE connection memory allocation
+===============================
+	errno: ENOMEM
+
+	Failed to allocate memory in either host stack or controller.
+
+LE connection busy
+==================
+	errno:	EBUSY
+
+	Failed due to other ongoing operations, such as pairing, connecting,
+	busy L2CAP channel or the operation disallowed by the controller.
+
+LE connection refused
+=====================
+	errno:	ECONNREFUSED
+
+	Failed due to that LE is not enabled or the attempt is refused by the
+	remote device due to limited resource, security reason or unacceptable
+	address type.
+
+LE connection create socket
+===========================
+	errno:	EIO
+
+	Failed to create or connect to BT IO socket. This can also indicate
+	hardware failure in the controller.
+
+LE connection timeout
+=====================
+	errno:	ETIMEDOUT
+
+	Failed due to connection timeout
+
+LE connection concurrent connection limit
+=========================================
+	errno:	EMLINK
+
+	Failed due to reaching the synchronous connection limit to a device.
+
+LE connection abort by remote
+=============================
+	errno:	ECONNRESET
+
+	Aborted by the remote device due to limited resource or power off.
+
+LE connection abort by local
+============================
+	errno:	ECONNABORTED
+
+	Aborted by the local host.
+
+LE connection link layer protocol error
+=======================================
+	errno:	EPROTO
+
+	Failed due to link layer protocol error.
+
+LE connection GATT browsing
+===========================
+	errno:	none
+
+	Failed to complete the GATT browsing.
+
+LE connection unknown error
+===========================
+	errno:	ENOSYS
+
+	Failed due to unknown reason.