move panel_on out of interrupt context, no more 'kworker scheduling while atomic'