While troubleshooting this issue I discovered what may be a rare case that is causing adverse behavior.
For some unknown reason during the boot process on CachyOS the entire /dev path is reset. This causes everything to be disconnected then re-added in quick succession. The first devices to be added in the second loop are devices that weren't detected the first time (evdev and iio). When the Legion Go device detects the hidraw for the second time the config check fails, and a new composite device is created. I suspect that cleanup isn't clearing everything completely during this event and the new hidraw is conflicting with "unique" on CompositeDevice0 for the same interface, though I don't yet have an explanation for how.
CachyOS/CachyOS-Handheld#114
While troubleshooting this issue I discovered what may be a rare case that is causing adverse behavior.
For some unknown reason during the boot process on CachyOS the entire /dev path is reset. This causes everything to be disconnected then re-added in quick succession. The first devices to be added in the second loop are devices that weren't detected the first time (evdev and iio). When the Legion Go device detects the hidraw for the second time the config check fails, and a new composite device is created. I suspect that cleanup isn't clearing everything completely during this event and the new hidraw is conflicting with "unique" on CompositeDevice0 for the same interface, though I don't yet have an explanation for how.
CachyOS/CachyOS-Handheld#114