bluetooth: mesh: fix few mismatched CONTAINER_OF

Fix few mismatched CONTAINER_OF, one missing k_work_delayable_from_work
and few that should be pointing at the first elemnet.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This commit is contained in:
Fabio Baltieri 2023-08-29 09:39:54 +00:00 committed by Carles Cufí
commit 8450eec4a3
2 changed files with 5 additions and 4 deletions

View file

@ -1181,7 +1181,8 @@ static void seg_rx_reset(struct seg_rx *rx, bool full_reset)
static void seg_discard(struct k_work *work)
{
struct seg_rx *rx = CONTAINER_OF(work, struct seg_rx, discard);
struct k_work_delayable *dwork = k_work_delayable_from_work(work);
struct seg_rx *rx = CONTAINER_OF(dwork, struct seg_rx, discard);
LOG_WRN("SAR Discard timeout expired");
seg_rx_reset(rx, false);

View file

@ -100,7 +100,7 @@ uint8_t bt_mesh_va_del(const uint8_t *uuid)
return STATUS_CANNOT_REMOVE;
}
va = CONTAINER_OF(uuid, struct bt_mesh_va, uuid);
va = CONTAINER_OF(uuid, struct bt_mesh_va, uuid[0]);
if (!PART_OF_ARRAY(virtual_addrs, va) || va->ref == 0) {
return STATUS_CANNOT_REMOVE;
@ -123,7 +123,7 @@ const uint8_t *bt_mesh_va_uuid_get(uint16_t addr, const uint8_t *uuid, uint16_t
if (uuid != NULL) {
struct bt_mesh_va *va;
va = CONTAINER_OF(uuid, struct bt_mesh_va, uuid);
va = CONTAINER_OF(uuid, struct bt_mesh_va, uuid[0]);
i = ARRAY_INDEX(virtual_addrs, va);
}
@ -200,7 +200,7 @@ int bt_mesh_va_get_idx_by_uuid(const uint8_t *uuid, uint16_t *uuidx)
return -ENOENT;
}
va = CONTAINER_OF(uuid, struct bt_mesh_va, uuid);
va = CONTAINER_OF(uuid, struct bt_mesh_va, uuid[0]);
if (!PART_OF_ARRAY(virtual_addrs, va) || va->ref == 0) {
return -ENOENT;