first remove irq then stop thread

This commit is contained in:
Martijn Scheepers
2017-11-03 12:49:12 +01:00
parent 0483f65986
commit 426015f2b2

View File

@@ -262,12 +262,6 @@ static void __exit h1502iostate_exit(void){
printk(KERN_ALERT "h1502iostate: failed to get framebuffer\n");
}
if(display_update_task){
flag = 1;
kthread_stop(display_update_task);
wake_up_interruptible(&wq);
}
#ifdef TEST
irqNumber = gpio_to_irq(2);
free_irq(irqNumber, &fake_input[2]);
@@ -288,6 +282,12 @@ static void __exit h1502iostate_exit(void){
}
#endif
if(display_update_task){
flag = 1;
kthread_stop(display_update_task);
wake_up_interruptible(&wq);
}
fb_clear_screen(info);
printk(KERN_INFO "h1502iostate: Goodbye\n");
@@ -300,6 +300,5 @@ static irq_handler_t io_irq_handler(unsigned int irq, void *dev_id, struct pt_re
return (irq_handler_t) IRQ_HANDLED; // Announce that the IRQ has been handled correctly
}
module_init(h1502iostate_init);
module_exit(h1502iostate_exit);