I think it can happen that you have a running tasklet while executing this line. This might re-enable the interrupt concurrently. I think the simplest solution is to disable the interupt a second time after tasklet_kill. Maybe this is handled implicitly by the writel() call in goldfish_rfkill_toggle_radio().