3229|0

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wake_up_interruptible和wait_event_interruptible问题 [复制链接]

小弟写了实现一个read阻塞程序,但是在唤醒过程中报错,第一次唤醒成功,第二次就不行了。望大虾们帮忙。
error如下:
irq7: nobody cared                                                              
                                                                                
Pid: 0, comm:              swapper                                             
CPU: 0                                                                          
PC is at default_idle+0x4c/0x54                                                
LR is at arch_idle+0x10/0x14                                                   
pc : []    lr : []    Not tainted                           
sp : c022dfa0  ip : c022dfa0  fp : c022dfac                                    
r10: 6001cd90  r9 : 41069264  r8 : 6001cdc0                                    
r7 : c02b7440  r6 : c022ffdc  r5 : c0023704  r4 : c022c000                     
r3 : 60000013  r2 : 0005217f  r1 : 0005317f  r0 : 00000000                     
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel                     
Control: 5317F  Table: 60F54000  DAC: 00000017                                 
[] (show_regs+0x0/0x4c) from [] (report_bad_irq+0x6c/0xcc)  
r4 = C022DF58                                                                  
[] (report_bad_irq+0x0/0xcc) from [] (do_level_IRQ+0x8c/0xc)
r5 = 00000007  r4 = C027C12C                                                   
[] (do_level_IRQ+0x0/0xc8) from [] (asm_do_IRQ+0x54/0x150)  
r6 = 00000001  r5 = C027C12C  r4 = 00000007                                    
[] (asm_do_IRQ+0x0/0x150) from [] (__irq_svc+0x38/0x8c)     
[] (default_idle+0x0/0x54) from [] (cpu_idle+0x5c/0xa0)     
[] (cpu_idle+0x0/0xa0) from [] (__init_end+0x30/0x38)      
r6 = C022FCDC  r5 = C027DA3C  r4 = C02A2DFC                                    
[] (__init_end+0x0/0x38) from [] (start_kernel+0x140/0x178)
[] (start_kernel+0x0/0x178) from [<60008094>] (0x60008094)            
[] (dump_stack+0x0/0x14) from [] (report_bad_irq+0x70/0xcc)
[] (report_bad_irq+0x0/0xcc) from [] (do_level_IRQ+0x8c/0xc)
r5 = 00000007  r4 = C027C12C                                                   
[] (do_level_IRQ+0x0/0xc8) from [] (asm_do_IRQ+0x54/0x150)  
r6 = 00000001  r5 = C027C12C  r4 = 00000007                                    
[] (asm_do_IRQ+0x0/0x150) from [] (__irq_svc+0x38/0x8c)     
[] (default_idle+0x0/0x54) from [] (cpu_idle+0x5c/0xa0)     
[] (cpu_idle+0x0/0xa0) from [] (__init_end+0x30/0x38)      
r6 = C022FCDC  r5 = C027DA3C  r4 = C02A2DFC                                    
[] (__init_end+0x0/0x38) from [] (start_kernel+0x140/0x178)
[] (start_kernel+0x0/0x178) from [<60008094>] (0x60008094)            
handlers:                                                                       
[] (ir_in_irq+0x0/0x24 [ir])
第二次在执行  wake_up_interruptible(&ir_wait_q)这句话的过程中,打印如下信息:
irq7: nobody cared                                                              
                                                                                
Pid: 413, comm:      ir_check_stream                                            
CPU: 0                                                                          
PC is at ir_open+0x3c/0x64 [ir]                                                
LR is at ir_open+0x3c/0x64 [ir]                                                
pc : []    lr : []    Not tainted                           
sp : c065be78  ip : 00000000  fp : c065be88                                    
r10: c0f3de88  r9 : c0e4fa7c  r8 : c023bf98                                    
r7 : 0000003d  r6 : 00000001  r5 : c023bea8  r4 : 00000000                     
r3 : 00000004  r2 : c1869410  r1 : 00000004  r0 : 00000000                     
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  Segment user                        
Control: 5317F  Table: 60650000  DAC: 00000015                                 
[] (show_regs+0x0/0x4c) from [] (report_bad_irq+0x6c/0xcc)  
r4 = C065BE30                                                                  
[] (report_bad_irq+0x0/0xcc) from [] (do_level_IRQ+0x8c/0xc)
r5 = 00000007  r4 = C027C12C                                                   
[] (do_level_IRQ+0x0/0xc8) from [] (asm_do_IRQ+0x54/0x150)  
r6 = 00000001  r5 = C027C12C  r4 = 00000007                                    
[] (asm_do_IRQ+0x0/0x150) from [] (__irq_svc+0x38/0x8c)     
[] (ir_open+0x0/0x64 [ir]) from [] (misc_open+0x28c/0x458)  
r4 = BF00D0E0                                                                  
[] (misc_open+0x0/0x458) from [] (chrdev_open+0x1b8/0x1e0)  
[] (chrdev_open+0x0/0x1e0) from [] (__dentry_open+0x138/0x2)
[] (__dentry_open+0x0/0x2b0) from [] (filp_open+0x7c/0x98)  
[] (filp_open+0x0/0x98) from [] (do_sys_open+0x44/0xd0)     
r7 = 00000005  r6 = 00000004  r5 = 00000180  r4 = 00000002                     
[] (do_sys_open+0x0/0xd0) from [] (sys_open+0x10/0x14)      
[] (sys_open+0x0/0x14) from [] (ret_fast_syscall+0x0/0x2c)  
[] (dump_stack+0x0/0x14) from [] (report_bad_irq+0x70/0xcc)
[] (report_bad_irq+0x0/0xcc) from [] (do_level_IRQ+0x8c/0xc)
r5 = 00000007  r4 = C027C12C                                                   
[] (do_level_IRQ+0x0/0xc8) from [] (asm_do_IRQ+0x54/0x150)  
r6 = 00000001  r5 = C027C12C  r4 = 00000007                                    
[] (asm_do_IRQ+0x0/0x150) from [] (__irq_svc+0x38/0x8c)     
[] (ir_open+0x0/0x64 [ir]) from [] (misc_open+0x28c/0x458)  
r4 = BF00D0E0                                                                  
[] (misc_open+0x0/0x458) from [] (chrdev_open+0x1b8/0x1e0)  
[] (chrdev_open+0x0/0x1e0) from [] (__dentry_open+0x138/0x2)
[] (__dentry_open+0x0/0x2b0) from [] (filp_open+0x7c/0x98)  
[] (filp_open+0x0/0x98) from [] (do_sys_open+0x44/0xd0)     
r7 = 00000005  r6 = 00000004  r5 = 00000180  r4 = 00000002                     
[] (do_sys_open+0x0/0xd0) from [] (sys_open+0x10/0x14)      
[] (sys_open+0x0/0x14) from [] (ret_fast_syscall+0x0/0x2c)  
handlers:                                                                       
[] (ir_in_irq+0x0/0x24 [ir])  
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表