Message ID | 20220609090832.9945-2-jonas@dptechnics.com |
---|---|
State | Superseded |
Headers | show |
Series | Fix bug where bluetooth-meshd stops sending | 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=648769 ---Test result--- Test Summary: CheckPatch FAIL 1.04 seconds GitLint PASS 0.74 seconds Prep - Setup ELL PASS 52.08 seconds Build - Prep PASS 0.72 seconds Build - Configure PASS 10.12 seconds Build - Make PASS 1878.37 seconds Make Check PASS 12.93 seconds Make Check w/Valgrind PASS 530.30 seconds Make Distcheck PASS 280.29 seconds Build w/ext ELL - Configure PASS 10.22 seconds Build w/ext ELL - Make PASS 1835.88 seconds Incremental Build with patchesPASS 0.00 seconds Details ############################## Test: CheckPatch - FAIL Desc: Run checkpatch.pl script with rule in .checkpatch.conf Output: [BlueZ,1/1] Fix bug where bluetooth-meshd stops sending WARNING:LONG_LINE: line length of 88 exceeds 80 columns #111: FILE: mesh/mesh-io-generic.c:746: + l_queue_isempty(pvt->tx_pkts) && /github/workspace/src/12875093.patch total: 0 errors, 1 warnings, 36 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/12875093.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. --- Regards, Linux Bluetooth
diff --git a/mesh/mesh-io-generic.c b/mesh/mesh-io-generic.c index 50a2a6a86..eed77a7a8 100644 --- a/mesh/mesh-io-generic.c +++ b/mesh/mesh-io-generic.c @@ -725,7 +725,6 @@ static bool send_tx(struct mesh_io *io, struct mesh_io_send_info *info, { struct mesh_io_private *pvt = io->pvt; struct tx_pkt *tx; - bool sending = false; if (!info || !data || !len || len > sizeof(tx->pkt)) return false; @@ -739,23 +738,20 @@ static bool send_tx(struct mesh_io *io, struct mesh_io_send_info *info, if (info->type == MESH_IO_TIMING_TYPE_POLL_RSP) l_queue_push_head(pvt->tx_pkts, tx); else { - if (pvt->tx) - sending = true; - else - sending = !l_queue_isempty(pvt->tx_pkts); - - l_queue_push_tail(pvt->tx_pkts, tx); - /* * If transmitter is idle, send packets at least twice to * guard against in-line cancelation of HCI command chain. */ - if (info->type == MESH_IO_TIMING_TYPE_GENERAL && !sending && + if (info->type == MESH_IO_TIMING_TYPE_GENERAL && !pvt->tx && + l_queue_isempty(pvt->tx_pkts) && tx->info.u.gen.cnt == 1) tx->info.u.gen.cnt++; + + l_queue_push_tail(pvt->tx_pkts, tx); } - if (!sending) { + /* If not already sending, schedule the tx worker */ + if (!pvt->tx) { l_timeout_remove(pvt->tx_timeout); pvt->tx_timeout = NULL; l_idle_oneshot(tx_worker, pvt, NULL);