#include <linux/init.h>
#include <linux/timer.h>
#include <linux/vmalloc.h>
-#include <asm/hardirq.h>
+#include <linux/interrupt.h>
#include <linux/bitops.h>
#include <asm/semaphore.h>
struct firmware *fw;
ssize_t retval;
+ if (!capable(CAP_SYS_RAWIO))
+ return -EPERM;
down(&fw_lock);
fw = fw_priv->fw;
if (test_bit(FW_STATUS_DONE, &fw_priv->status)) {