Date: Thu, 09 Jul 2026 02:54:12 +0000 From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih <freebsd@seuros.com> Subject: git: d128ddf32e87 - main - fwcam: retry ISO enable after re-powering camera Message-ID: <6a4f0d54.21b3a.4d230ce9@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=d128ddf32e87a672dbbbc26cfece71e241e0ffa0 commit d128ddf32e87a672dbbbc26cfece71e241e0ffa0 Author: Abdelkader Boudih <freebsd@seuros.com> AuthorDate: 2026-07-09 02:52:29 +0000 Commit: Adrian Chadd <adrian@FreeBSD.org> CommitDate: 2026-07-09 02:52:30 +0000 fwcam: retry ISO enable after re-powering camera Some IIDC cameras power down the sensor when inactive (e.g. lens cover closed) and reject ISO enable with EIO. Re-power the camera and retry once before failing. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58101 --- sys/dev/firewire/fwcam.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/dev/firewire/fwcam.c b/sys/dev/firewire/fwcam.c index c5e5cf545fe9..234dd41eedf1 100644 --- a/sys/dev/firewire/fwcam.c +++ b/sys/dev/firewire/fwcam.c @@ -429,7 +429,22 @@ fwcam_iso_start(struct fwcam_softc *sc) } err = fwcam_write_quadlet(sc, IIDC_ISO_EN, IIDC_ISO_EN_ON); - if (err) { + if (err == EIO) { + /* + * Cameras with a lens cover might power down the sensor + * when the cover is closed and reject streaming requests. + * Try to re-power and retry once before giving up. + */ + err = fwcam_power_on(sc); + if (err == 0) + err = fwcam_write_quadlet(sc, IIDC_ISO_EN, + IIDC_ISO_EN_ON); + if (err) { + device_printf(sc->fd.dev, + "ISO enable refused (lens cover closed?)\n"); + goto fail; + } + } else if (err) { device_printf(sc->fd.dev, "failed to enable ISO: %d\n", err); goto fail;home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a4f0d54.21b3a.4d230ce9>
