Lines Matching refs:mesh_tx
324 void (*cb)(struct mgmt_mesh_tx *mesh_tx, void *data), in mgmt_mesh_foreach() argument
327 struct mgmt_mesh_tx *mesh_tx, *tmp; in mgmt_mesh_foreach() local
329 list_for_each_entry_safe(mesh_tx, tmp, &hdev->mesh_pending, list) { in mgmt_mesh_foreach()
330 if (!sk || mesh_tx->sk == sk) in mgmt_mesh_foreach()
331 cb(mesh_tx, data); in mgmt_mesh_foreach()
337 struct mgmt_mesh_tx *mesh_tx; in mgmt_mesh_next() local
342 list_for_each_entry(mesh_tx, &hdev->mesh_pending, list) { in mgmt_mesh_next()
343 if (!sk || mesh_tx->sk == sk) in mgmt_mesh_next()
344 return mesh_tx; in mgmt_mesh_next()
352 struct mgmt_mesh_tx *mesh_tx; in mgmt_mesh_find() local
357 list_for_each_entry(mesh_tx, &hdev->mesh_pending, list) { in mgmt_mesh_find()
358 if (mesh_tx->handle == handle) in mgmt_mesh_find()
359 return mesh_tx; in mgmt_mesh_find()
368 struct mgmt_mesh_tx *mesh_tx; in mgmt_mesh_add() local
370 mesh_tx = kzalloc(sizeof(*mesh_tx), GFP_KERNEL); in mgmt_mesh_add()
371 if (!mesh_tx) in mgmt_mesh_add()
378 mesh_tx->handle = hdev->mesh_send_ref; in mgmt_mesh_add()
379 mesh_tx->index = hdev->id; in mgmt_mesh_add()
380 memcpy(mesh_tx->param, data, len); in mgmt_mesh_add()
381 mesh_tx->param_len = len; in mgmt_mesh_add()
382 mesh_tx->sk = sk; in mgmt_mesh_add()
385 list_add_tail(&mesh_tx->list, &hdev->mesh_pending); in mgmt_mesh_add()
387 return mesh_tx; in mgmt_mesh_add()
390 void mgmt_mesh_remove(struct mgmt_mesh_tx *mesh_tx) in mgmt_mesh_remove() argument
392 list_del(&mesh_tx->list); in mgmt_mesh_remove()
393 sock_put(mesh_tx->sk); in mgmt_mesh_remove()
394 kfree(mesh_tx); in mgmt_mesh_remove()