- #!/bin/sh
-
- usblp_driver="/sys/bus/usb/drivers/usblp"
-
- inuse=""
- if [ -e /sys/bus/usb/devices ]; then
- for usbdev_driver in /sys/bus/usb/devices/*/driver; do
- [ -e "$usbdev_driver" ] || continue
- [ "$(readlink -f "$usbdev_driver")" = "$usblp_driver" ] || continue
- usbdev="${usbdev_driver%/*}"
- inuse="$inuse ${usbdev##*/}"
- done
- fi
-
- /usr/lib/sane/saned "$@"
- err=$?
-
- for usbdev in $inuse; do
- [ -e "/sys/bus/usb/devices/$usbdev/driver" ] && continue
- logger -t saned "binding device $usbdev back to usblp..."
- printf '%s' "$usbdev" > "$usblp_driver/bind"
- done
-
- exit $err
|