tasklet: import refresh for __latent_entropy annotations
diff --git a/patches/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch b/patches/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch
index 803a0bd..808d6cd 100644
--- a/patches/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch
+++ b/patches/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch
@@ -43,7 +43,7 @@
 
 --- a/include/linux/interrupt.h
 +++ b/include/linux/interrupt.h
-@@ -500,8 +500,9 @@ static inline struct task_struct *this_c
+@@ -508,8 +508,9 @@ static inline struct task_struct *this_c
       to be executed on some cpu at least once after this.
     * If the tasklet is already scheduled, but its execution is still not
       started, it will be executed only once.
@@ -55,7 +55,7 @@
     * Tasklet is strictly serialized wrt itself, but not
       wrt another tasklets. If client needs some intertask synchronization,
       he makes it with spinlocks.
-@@ -526,27 +527,36 @@ struct tasklet_struct name = { NULL, 0,
+@@ -534,27 +535,36 @@ struct tasklet_struct name = { NULL, 0,
  enum
  {
  	TASKLET_STATE_SCHED,	/* Tasklet is scheduled for execution */
@@ -98,7 +98,7 @@
  #define tasklet_unlock_wait(t) do { } while (0)
  #define tasklet_unlock(t) do { } while (0)
  #endif
-@@ -595,12 +605,7 @@ static inline void tasklet_disable(struc
+@@ -603,12 +613,7 @@ static inline void tasklet_disable(struc
  	smp_mb();
  }
  
@@ -122,7 +122,7 @@
  #include <linux/ftrace.h>
  #include <linux/smp.h>
  #include <linux/smpboot.h>
-@@ -446,15 +447,45 @@ struct tasklet_head {
+@@ -460,15 +461,45 @@ struct tasklet_head {
  static DEFINE_PER_CPU(struct tasklet_head, tasklet_vec);
  static DEFINE_PER_CPU(struct tasklet_head, tasklet_hi_vec);
  
@@ -172,7 +172,7 @@
  	local_irq_restore(flags);
  }
  EXPORT_SYMBOL(__tasklet_schedule);
-@@ -464,10 +495,7 @@ void __tasklet_hi_schedule(struct taskle
+@@ -478,10 +509,7 @@ void __tasklet_hi_schedule(struct taskle
  	unsigned long flags;
  
  	local_irq_save(flags);
@@ -184,7 +184,7 @@
  	local_irq_restore(flags);
  }
  EXPORT_SYMBOL(__tasklet_hi_schedule);
-@@ -476,82 +504,122 @@ void __tasklet_hi_schedule_first(struct
+@@ -490,82 +518,122 @@ void __tasklet_hi_schedule_first(struct
  {
  	BUG_ON(!irqs_disabled());
  
@@ -195,7 +195,7 @@
  }
  EXPORT_SYMBOL(__tasklet_hi_schedule_first);
  
--static void tasklet_action(struct softirq_action *a)
+-static __latent_entropy void tasklet_action(struct softirq_action *a)
 +void  tasklet_enable(struct tasklet_struct *t)
  {
 -	struct tasklet_struct *list;
@@ -316,7 +316,7 @@
 +	__tasklet_action(a, list);
 +}
 +
- static void tasklet_hi_action(struct softirq_action *a)
+ static __latent_entropy void tasklet_hi_action(struct softirq_action *a)
  {
  	struct tasklet_struct *list;
  
@@ -356,7 +356,7 @@
  }
  
  void tasklet_init(struct tasklet_struct *t,
-@@ -572,7 +640,7 @@ void tasklet_kill(struct tasklet_struct
+@@ -586,7 +654,7 @@ void tasklet_kill(struct tasklet_struct
  
  	while (test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) {
  		do {
@@ -365,7 +365,7 @@
  		} while (test_bit(TASKLET_STATE_SCHED, &t->state));
  	}
  	tasklet_unlock_wait(t);
-@@ -646,6 +714,23 @@ void __init softirq_init(void)
+@@ -660,6 +728,23 @@ void __init softirq_init(void)
  	open_softirq(HI_SOFTIRQ, tasklet_hi_action);
  }