diff --git a/mkosi.extra/usr/lib/disable-usb-autosuspend-for-input-devices b/mkosi.extra/usr/lib/disable-usb-autosuspend-for-input-devices index af71605..8a19158 100755 --- a/mkosi.extra/usr/lib/disable-usb-autosuspend-for-input-devices +++ b/mkosi.extra/usr/lib/disable-usb-autosuspend-for-input-devices @@ -9,10 +9,13 @@ set -e INPUT_DEVICE_IDS=$(find /sys/bus/usb/drivers/usbhid -regex '.*\/[0-9:.-]+' -printf '%f\n' | cut --delimiter ":" --fields 1 | sort --unique) -set +e - for DEVICE_ID in $INPUT_DEVICE_IDS; do - DEVICE_PRETTY_NAME=$(cat /sys/bus/usb/devices/$DEVICE_ID/product) - echo "Disabling USB auto-suspend for device \"$DEVICE_PRETTY_NAME\" (with ID $DEVICE_ID)" - echo "on" >| "/sys/bus/usb/devices/$DEVICE_ID/power/control"; + if ! { DEVICE_PRETTY_NAME=$(cat "/sys/bus/usb/devices/${DEVICE_ID}/product"); } 2> /dev/null; then + DEVICE_PRETTY_NAME="Unknown" + fi + DEVICE_INFO_MSG="USB auto-suspend for device \"${DEVICE_PRETTY_NAME}\" (with ID ${DEVICE_ID})" + echo "Disabling ${DEVICE_INFO_MSG}" + if ! (echo "on" >| "/sys/bus/usb/devices/${DEVICE_ID}/power/control") 2> /dev/null; then + echo "Unable to disable ${DEVICE_INFO_MSG}" + fi done