I am happy to report that the camera "failed to set mode" and "device
busy/brownout" issues are now fully resolved. The root cause was a
hardware race condition where rapid power cycling (e.g., refreshing a
browser permission prompt) would re-enable the regulators before the
sensor's capacitors had fully discharged or its internal state machine
had reset. This left the sensor in a latched-up/brownout state that
persisted until a reboot.

- Issue: Camera fails with "failed to set mode" and "device busy" errors
when accessing it rapidly (e.g., refreshing a browser page or restarting
qcam quickly). This leaves the sensor in a persistent brownout/latched-
up state that requires a full system reboot to recover. The root cause
is that the sensor regulators are re-enabled before the capacitors fully
discharge, preventing a clean Power-On Reset (POR).

- What fixed it: Two sets of changes were required:

- Driver (ov02c10.c): Implemented a mandatory 3-second cool-down period.
The driver now tracks the timestamp of the last power-off and forces a
sleep if a power-on request comes too soon. This guarantees physical
discharge regardless of userspace behavior. We also corrected the power-
off sequence to disable MCLK before regulators to prevent current back-
feeding (latch-up).

- DTS: Increased the off-on-delay-us to 50ms for the camera regulators
as an additional safety margin.

- Remaining issues: Userspace color tuning. The camera stream is stable
and reliable now, but the colors are incorrect (Warmer Tint). This is a
libcamera/IPA tuning file issue and is unrelated to the kernel stability
fixes.

Attached are the patches which I have used.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2138756

Title:
  [ov02c10] Camera unusable on Lenovo Yoga Slim 7x - system hangs, I2C
  timeouts, color artifacts

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2138756/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to