【Linux】【Kernel】BUG: scheduling while atomic问题分析

内核模块local_clients用于监听DHCP包,并把主机名字,IP,MAC等信息写到文件/proc/local_clients/local_clients_info,然后webserver解析这个问题,达到显示当前连接到AP的无线客户端主机名称的功能
/tmp # cat /proc/local_clients/local_clients_info
58-7F-57-8B-BC-0D 192.168.0.100 myPhone
现在需要对这个模块进行改进,增加监听DNS报文,确定连接到AP的主机的IP和MAC,结果写入/proc/local_clients/local_clients_info,在用户空间解析这个问题,如果发现存在主机名是未知(UNKNOWN)的条目,则通过用户态程序client_mgmt发NBNS或者MDNS获取主机名。
/tmp # cat /proc/local_clients/local_clients_info
14-CC-20-16-FB-DA 192.168.0.110 UNKNOWN

问题:解析主机名功能实现了,但是跑了大概2个多小时,串口出现异常打印如下:
[ 3419.912000] BUG: scheduling while atomic:client_mgmt/1051/0x00000100
[ 3419.916000] Modules linked in: umac ath_dev(P)ath_rate_atheros(P) ath_hal(P) asf(P) adf(P) athrs_gmac local_clients
[ 3419.928000] Cpu 0
[ 3419.932000] 0:00000000000000010000000000000000[3419.936000] 4 :00000041 832e4500 000000fe 23c637bb
[ 3419.944000] 8:3b9aca00129b0ea4c4ec4e0cfffffff8[3419.948000] 12 :fffffffe 592f6656 00000000 004031a4
[ 3419.952000] 16:00000d5b832d

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值