25 lines
573 B
Text
25 lines
573 B
Text
|
#!/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
|