diff --git a/kernel/sched/perf_error_detection.c b/kernel/sched/perf_error_detection.c
index ca8021c81ed8cacda397b96623e8667765049ad2..cfea90319221d61f8656001442529e84b19af7af 100644
--- a/kernel/sched/perf_error_detection.c
+++ b/kernel/sched/perf_error_detection.c
@@ -29,7 +29,7 @@ int init_perf_event(struct plan_entry plan_entry){
 			return -1;
 	}
 
-	return fd;
+	return 0;
 }
 
 //terminate perf event - return performance counter value
@@ -47,17 +47,18 @@ long long terminate_perf_event(int fd, u64 task_id){
 
 //handle the perf overflow event -> task needed more instructions than planed
 void overflow_handler(
-		struct perf_event *,
-		struct perf_sample_data *,
+		struct perf_event *event,
+		struct perf_sample_data *data,
 		struct pt_regs *regs)
 {
 	struct pb_rq *pb_rq;
 	int cpu;
-	int fd;
+//	int fd;
 
 	cpu = smp_processor_id();
-	pb_rq = cpu_rq(cpu)->pb;
-	fd =pb_rq->fd;
+//	pb_rq = cpu_rq(cpu)->pb;
+	pb_rq = &cpu_rq(cpu)->pb; /* der compiler meckert: error: incompatible types when assigning to type ‘struct pb_rq *’ from type ‘struct pb_rq’ */
+//	fd =pb_rq->fd;
 
 	printk(KERN_WARNING "task %llu ran too long\n",pb_rq->plan[pb_rq->c_entry].task_id);