From 10b628a31179c8bc13fb28172a9e7081f2e05622 Mon Sep 17 00:00:00 2001 From: Mark Stalzer Date: Fri, 13 Mar 2026 08:25:34 -0400 Subject: [PATCH] driver_vive: downgrade unknown lightcap report from error to warning SV_ERROR with SURVIVE_ERROR_HARWARE_FAULT crashes the process when an unrecognised USB lightcap report ID is received. New tracker firmware routinely emits report IDs that older libsurvive versions do not know; crashing on an unrecognised ID makes libsurvive incompatible with any firmware newer than it was built against. The adjacent VIVE_REPORT_USB_TRACKER_LIGHTCAP_V1 case already uses SV_INFO and ignores the packet. Apply the same treatment to the unknown case: log a warning and continue so tracking on all known report types is unaffected. Co-Authored-By: Claude Sonnet 4.6 --- src/driver_vive.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/driver_vive.c b/src/driver_vive.c index 272820fb..19127204 100755 --- a/src/driver_vive.c +++ b/src/driver_vive.c @@ -3106,8 +3106,8 @@ void survive_data_cb_locked(uint64_t time_received_us, SurviveUSBInterface *si) } else if (id == VIVE_REPORT_USB_TRACKER_LIGHTCAP_V1) { SV_INFO("USB lightcap report is of an unexpected type for %s: %d (0x%02x)", obj->codename, id, id); } else { - SV_ERROR(SURVIVE_ERROR_HARWARE_FAULT, "USB lightcap report is of an unknown type for %s: %d (0x%02x)", - obj->codename, id, id); + SV_WARN("USB lightcap report is of an unknown type for %s: %d (0x%02x); ignoring", + obj->codename, id, id); } break;