vserver 1.9.3
[linux-2.6.git] / drivers / base / firmware_class.c
index a57ba84..6e17867 100644 (file)
@@ -12,7 +12,7 @@
 #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>
 
@@ -235,6 +235,8 @@ firmware_data_write(struct kobject *kobj,
        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)) {