Message ID | 20220224020624.159247-2-brian.gix@intel.com |
---|---|
State | New |
Headers | show |
Series | Kernel based mesh functionality | expand |
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=617384 ---Test result--- Test Summary: CheckPatch FAIL 4.85 seconds GitLint PASS 2.61 seconds Prep - Setup ELL PASS 48.28 seconds Build - Prep PASS 0.44 seconds Build - Configure PASS 9.45 seconds Build - Make PASS 1347.83 seconds Make Check PASS 12.25 seconds Make Check w/Valgrind PASS 465.19 seconds Make Distcheck PASS 243.36 seconds Build w/ext ELL - Configure PASS 8.66 seconds Build w/ext ELL - Make PASS 1383.39 seconds Incremental Build with patchesFAIL 4627.24 seconds Details ############################## Test: CheckPatch - FAIL Desc: Run checkpatch.pl script with rule in .checkpatch.conf Output: [1/7] mgmt: Add support for Mesh in the kernel WARNING:REPEATED_WORD: Possible repeated word: 'command' #252: FILE: doc/mgmt-api.txt:5143: + the Set Mesh Receiver command command, specifying which AD Types to /github/workspace/src/12757782.patch total: 0 errors, 1 warnings, 189 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/12757782.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. [3/7] mesh: Add common MGMT command accessors WARNING:TYPO_SPELLING: 'accross' may be misspelled - perhaps 'across'? #69: a single socket, shared accross all consumers. ^^^^^^^ ERROR:FUNCTION_WITHOUT_ARGS: Bad function definition - void mesh_mgmt_destroy() should probably be void mesh_mgmt_destroy(void) #285: FILE: mesh/mesh-mgmt.c:226: +void mesh_mgmt_destroy() /github/workspace/src/12757783.patch total: 1 errors, 1 warnings, 243 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/12757783.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. [4/7] mesh: rework Mesh-IO for multiple transports WARNING:LINE_SPACING: Missing a blank line after declarations #334: FILE: mesh/mesh-io-mgmt.c:108: + const struct dup_filter *filter = a; + return !memcmp(filter->addr, b, 6); WARNING:SPACING: space prohibited between function name and open parenthesis '(' #337: FILE: mesh/mesh-io-mgmt.c:111: +static void filter_timeout (struct l_timeout *timeout, void *user_data) ERROR:CODE_INDENT: code indent should use tabs where possible #367: FILE: mesh/mesh-io-mgmt.c:141: + uint32_t instant)$ WARNING:LEADING_SPACE: please, no spaces at the start of a line #367: FILE: mesh/mesh-io-mgmt.c:141: + uint32_t instant)$ WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (16, 16) #465: FILE: mesh/mesh-io-mgmt.c:239: + if (adv[1] >= 0x29 && adv[1] <= 0x2B) + process_rx(io->pvt, ev->rssi, instant, addr, adv + 1, adv[0]); WARNING:BRACES: braces {} are not necessary for single statement blocks #1102: FILE: mesh/mesh-io.c:51: + if (table[i].type == type) { + return table[i].api; + } WARNING:BRACES: braces {} are not necessary for any arm of this statement #1173: FILE: mesh/mesh-io.c:97: + if (mesh && type != MESH_IO_TYPE_GENERIC) { [...] - if (l_queue_push_head(io_list, io)) [...] WARNING:BRACES: braces {} are not necessary for single statement blocks #1179: FILE: mesh/mesh-io.c:101: + else if (!pwr) { + api = io_api(MESH_IO_TYPE_GENERIC); + } /github/workspace/src/12757784.patch total: 1 errors, 7 warnings, 1227 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. NOTE: Whitespace errors detected. You may wish to use scripts/cleanpatch or scripts/cleanfile /github/workspace/src/12757784.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: Incremental Build with patches - FAIL Desc: Incremental build per patch in the series Output: tools/mgmt-tester.c: In function ‘main’: tools/mgmt-tester.c:12364:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 12364 | int main(int argc, char *argv[]) | ^~~~ unit/test-avdtp.c: In function ‘main’: unit/test-avdtp.c:766:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 766 | int main(int argc, char *argv[]) | ^~~~ unit/test-avrcp.c: In function ‘main’: unit/test-avrcp.c:989:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 989 | int main(int argc, char *argv[]) | ^~~~ In file included from mesh/mesh-io-generic.c:26: ./mesh/mesh-mgmt.h:18:5: error: unknown type name ‘mgmt_request_func_t’ 18 | mgmt_request_func_t callback, | ^~~~~~~~~~~~~~~~~~~ ./mesh/mesh-mgmt.h:19:22: error: unknown type name ‘mgmt_destroy_func_t’; did you mean ‘bt_hci_destroy_func_t’? 19 | void *user_data, mgmt_destroy_func_t destroy); | ^~~~~~~~~~~~~~~~~~~ | bt_hci_destroy_func_t ./mesh/mesh-mgmt.h:21:5: error: unknown type name ‘mgmt_notify_func_t’ 21 | mgmt_notify_func_t callback, | ^~~~~~~~~~~~~~~~~~ ./mesh/mesh-mgmt.h:22:22: error: unknown type name ‘mgmt_destroy_func_t’; did you mean ‘bt_hci_destroy_func_t’? 22 | void *user_data, mgmt_destroy_func_t destroy); | ^~~~~~~~~~~~~~~~~~~ | bt_hci_destroy_func_t mesh/mesh-io-generic.c: In function ‘dev_init’: mesh/mesh-io-generic.c:448:25: error: passing argument 1 of ‘mesh_mgmt_list’ from incompatible pointer type [-Werror=incompatible-pointer-types] 448 | return mesh_mgmt_list(read_info, io); | ^~~~~~~~~ | | | void (*)(int, void *) In file included from mesh/mesh-io-generic.c:26: ./mesh/mesh-mgmt.h:15:48: note: expected ‘mesh_mgmt_read_info_func_t’ {aka ‘void (*)(int, _Bool, _Bool, _Bool, void *)’} but argument is of type ‘void (*)(int, void *)’ 15 | bool mesh_mgmt_list(mesh_mgmt_read_info_func_t cb, void *user_data); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ cc1: all warnings being treated as errors make[1]: *** [Makefile:7271: mesh/mesh-io-generic.o] Error 1 make: *** [Makefile:4307: all] Error 2 --- Regards, Linux Bluetooth
diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt index ebe56afa4..41c196250 100644 --- a/doc/mgmt-api.txt +++ b/doc/mgmt-api.txt @@ -3858,6 +3858,132 @@ Add Advertisement Patterns Monitor With RSSI Threshold Command Invalid Parameters +Set Mesh Receiver Command +========================= + + Command Code: 0x0057 + Controller Index: <controller id> + Command Parameters: Enable (1 Octets) + Window (2 Octets) + Period (2 Octets) + Num AD Types (1 Octets) + AD Types { } + + This command Enables or Disables Mesh Receiving. When enabled passive + scanning remains enabled for this controller. + + The Window/Period values are used to set the Scan Parameters when no + other scanning is being done. + + Num AD Types and AD Types parameter, filter Advertising and Scan + responses by AD type. Reponses that do not contain at least one of the + requested AD types will be ignored. Otherwise they will be delivered + with the Mesh Device Found event. + + Possible errors: Failed + No Resources + Invalid Parameters + + +Read Mesh Features Command +========================== + + Command Code: 0x0058 + Controller Index: <controller id> + Command Parameters: + Return Parameters: Index (2 Octets) + Max Handles (1 Octets) + Used Handles (1 Octets) + Handle { } + + This command is used to both verify that Outbound Mesh packet + support is enabled, and to indicate the number of packets that + can and are simultaneously queued. + + Index identifies the HCI Controller that this information is valid for. + + Max Handles indicates the maximum number of packets that may be queued. + + Used Handles indicates the number of packets awaiting transmission. + + Handle is an array of the currently outstanding packets. + + Possible errors: Failed + No Resources + Invalid Parameters + + +Transmit Mesh Packet Command +============================ + + Command Code: 0x0059 + Controller Index: <controller id> + Command Parameters: Addr (6 octets) + Addr Type (1 Octets) + Instant (8 Octets) + Delay (2 Octets) + Count (1 Octets) + Data (variable) + + Return Parameters: Handle (1 Octets) + + This command sends a Mesh Packet as a NONCONN LE Advertisement. + + The Addr + Addr Type parameters specifify the address to use in the + outbound advertising packet. If BD_ADDR_ANY and LE_RANDOM is set, the + kernel will create a single use non-resolvable address. + + The Instant parameter is used in combination with the Delay + parameter, to finely time the sending of the Advertising packet. It + should be set to the Instant value tag of a received incoming + Mesh Device Found Event. It is only useful in POLL-RESPONSE situations + where a response must be sent within a negotiated time window. The value + of the Instant parameter should not be interpreted by the host, and + only has meaning to the controller. + + The Delay parameter, if 0x0000, will cause the packet to be sent + at the earliest opportunity. If non-Zero, and the controller supports + delayed delivery, the Instant and Delay parameters will be used + to delay the outbound packet. While the Instant is not defined, the + Delay is specified in milliseconds. + + The Count parameter must be sent to a non-Zero value indicating the + number of times this packet will be sent before transmission completes. + If the Delay parameter is non-Zero, then Count must be 1 only. + + The Data parameter is an octet array of the AD Type and Mesh Packet. + + This command will return immediately, and if it succeeds, will generate + a Mesh Packet Transmission Complete event when after the packet has been + sent. + + Possible errors: Failed + Busy + No Resources + Invalid Parameters + + +Cancel Transmit Mesh Packet Command +=================================== + + Command Code: 0x005A + Controller Index: <controller id> + Command Parameters: Handle (1 Octets) + + This command may be used to cancel an outbound transmission request. + + The Handle parameter is the returned handle from a successful Transmit + Mesh Packet request. If Zero is specified as the handle, all outstanding + send requests are canceled. + + For each mesh packet canceled, the Mesh Packet Transmission Complete + event will be generated, regardless of whether the packet was sent + successfully. + + Possible errors: Failed + Invalid Parameters + + Command Complete Event ====================== @@ -4978,3 +5104,57 @@ Advertisement Monitor Device Lost Event 2 LE Random This event will be sent to all management sockets. + + +Mesh Device Found Event +======================= + + Event code: 0x0031 + Controller Index: <controller_id> + Event Parameters: Address (6 Octets) + Address_Type (1 Octet) + RSSI (1 Octet) + Flags (4 Octets) + Instant (8 Octets) + AD_Data_Length (2 Octets) + AD_Data (0-65535 Octets) + + This event indicates that the controller has received an Advertisement + or Scan Result containing an AD Type matching the Mesh scan set. + + The address of the sending device is returned, and must be a valid LE + Address_Type. + + Possible values for the Address_Type parameter: + 0 Reserved (not in use) + 1 LE Public + 2 LE Random + + The RSSI field is a signed octet, and is the RSSI reported by the + receiving controller. + + The Instant field is 64 bit value that represents the instant in time + the packet was received. It's value is not intended to be interpretted + by the host, and is only useful if the host wants to make a timed + response to the received packet. (i.e. a Poll/Response) + + AD_Length and AD_Data contains the Info structure of Advertising and + Scan rsults. To receive this event, AD filters must be requested with + the Set Mesh Receiver command command, specifying which AD Types to + return. All AD structures will be received in this event if any of the + filtered AD Types are present. + + This event will be sent to all management sockets. + + +Mesh Packet Transmit Complete Event +=================================== + + Event code: 0x0032 + Controller Index: <controller_id> + Event Parameters: Handle (1 Octets) + + This event indicates that a requested outbound Mesh packet has + completed and no longer occupies a transmit slot. + + This event will be sent to all management sockets.