--- irqbalance.orig 2012-02-23 09:01:12.334264440 +0200 +++ irqbalance.orig 2012-02-23 09:00:51.313265878 +0200 @@ -12,7 +12,16 @@ start-stop-daemon --exec /usr/sbin/irqbalance "$@" } +check_sysfs() { + if grep -q MSI /proc/interrupts 2>/dev/null && [[ -z "$(find /sys/devices -type d -name msi_irqs 2>/dev/null)" ]]; then + eerror "MSI interrupts found in /proc/interrupts but none found in sysfs." + eerror "You need to update your kernel." + return 1 + fi +} + start() { + check_sysfs || return 1 ebegin "Starting irqbalance" ssd --start -- ${IRQBALANCE_OPTS} eend $?