Skip to content

Update source changes till 01/06/2026#9

Merged
GirishKadirisani merged 4 commits into
mainfrom
dev
Jun 1, 2026
Merged

Update source changes till 01/06/2026#9
GirishKadirisani merged 4 commits into
mainfrom
dev

Conversation

@GirishKadirisani
Copy link
Copy Markdown
Contributor

Here are the gerrits source code gerrit merged.

  1. cam-server: fix duplicate client ID for rapid connect
  2. Revert^2 "cam-server: add support for offline camera"
  3. cam-server: Set OCL_ICD_FILENAMES to Environment variable
  4. le-camera-server : fix the out-of-bound ion_meta_fd access.

shukulk and others added 4 commits June 1, 2026 13:28
 - Recorder client accessed fds[1] unconditionally when
   service sent only 1 fd.
 - Non-gbm allocator always sends ion_meta_fd as -1
 - fd received by ion_meta_fd is 1 due to out of bound
   case of fds_ vector.
 - During deletevideotrack this invalid ion_meta_fd
   was closed, which resulted in closing fd 1.
   In all linux processes by default fd 0,
   1,2 are reserved for stdin,stdout,stderr respectively.

Signed-off-by: Shubhankar Kulkarni <shukulk@qti.qualcomm.com>
Signed-off-by: Girish K <girik@qti.qualcomm.com>
- In QLI 2.0 and mainline builds, multiple OpenCL implementations
  are present(ICD loader, Qualcomm Adreno, and Rusticl).The ICD
  loader selects vendor libraries in a non-deterministic order,
  causing inconsistent platform/device indexing.

- Exporting:
  OCL_ICD_FILENAMES=/usr/lib/libOpenCL_adreno.so.1
  forces the ICD loader to prioritize the Qualcomm
  OpenCL implementation,ensuring consistent behavior across builds.
  Removed LD_LIBRARY_PATH which is not used.

- Note:
  Issue does not exist in QLI 1.0 (single vendor, hardcoded loading).

Signed-off-by: Jai Shiv <jshiv@qti.qualcomm.com>
Signed-off-by: Girish K <girik@qti.qualcomm.com>
This reverts commit 9c483673f9d78e8cbe4084e4bf3c0803818f6359.

Reason for revert: <CAMX headers are available now>

Signed-off-by: Girish K <girik@qti.qualcomm.com>
- On the non-binder path, client connection is split into two phases:
  Phase 1 (RECORDER_CONNECT)      - allocates client ID, adds to death_notifier_list_
  Phase 2 (CALLBACK_SOCKET_READY) - sets up callback, adds to remote_cb_list_

- GetUniqueClientID() was only checking remote_cb_list_ to determine
  if an ID was free. Since remote_cb_list_ is not populated until
  Phase 2, a second client connecting immediately after the first
  (before Phase 2 completes) would see an empty remote_cb_list_ and
  get assigned the same client ID, causing duplicates.

- Fix: use active_client_ids_  as the single source of truth for ID
  reservation.

Signed-off-by: Jai Shiv <jshiv@qti.qualcomm.com>
Signed-off-by: Girish K <girik@qti.qualcomm.com>
@GirishKadirisani GirishKadirisani merged commit 7f0ccf7 into main Jun 1, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants