The function was randomly failing to drop the priority, because the field was not initialized - it was random garbage instead of 0, leading to EINVAL.
@@ -43,6 +43,7 @@ pontus <liquidpontus@yahoo.se>
Tydus <Tydus@Tydus.org>
Raulo <p987341@gmail.com>
Kiyoaki Matsugae <matsugae.kiyoaki@gmail.com>
+Lauri Kasanen <curaga@operamail.com>
Thorsten Gilling <tgilling@web.de>
Isidoro Ghezzi <isidoro.ghezzi@icloud.com>
capa66 <capa66@x204.com>
@@ -49,6 +49,7 @@ BFG_REGISTER_DRIVER(cpu_drv)
static inline void drop_policy(void)
{
struct sched_param param;
+ param.sched_priority = 0;
#ifdef SCHED_BATCH
#ifdef SCHED_IDLE