FTxxxx系列------Unable to handle kernel NULL pointer

log如下:

    5.930865] (CPU:0-pid:1:swapper/0)Unable to handle kernel NULL pointer dereference at virtual address 0000000c
[ 5.940886] (CPU:0-pid:1:swapper/0)pgd = ffffffc001bd6000
[ 5.946243] (CPU:0-pid:1:swapper/0)[0000000c] *pgd=00000000eec18003[ 5.952333] (CPU:0-pid:1:swapper/0), *pud=00000000eec18003[ 5.957615] (CPU:0-pid:1:swapper/0), *pmd=00000000eec19003[ 5.962923] (CPU:0-pid:1:swapper/0), *pte=006000000b000707[ 5.968204] (CPU:0-pid:1:swapper/0)
[ 5.971695] (CPU:0-pid:1:swapper/0)Internal error: Oops: 96000045 [#1] PREEMPT SMP
[ 5.979232] (CPU:0-pid:1:swapper/0)Modules linked in:[ 5.984091] (CPU:0-pid:1:swapper/0)
[ 5.987567] (CPU:0-pid:1:swapper/0)CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.20-gf749edab-dirty #73
[ 5.997025] (CPU:0-pid:1:swapper/0)Hardware name: Qualcomm Technologies, Inc. MSM8937-PMI8950 MTP (DT)
[ 6.006315] (CPU:0-pid:1:swapper/0)task: ffffffc06ed20000 ti: ffffffc06ed1c000 task.ti: ffffffc06ed1c000
[ 6.015780] (CPU:0-pid:1:swapper/0)PC is at ftxxxx_ts_probe+0x90/0xfb8
[ 6.022288] (CPU:0-pid:1:swapper/0)LR is at ftxxxx_ts_probe+0x8c/0xfb8


代码如下:

unsigned char uc_reg_value;
unsigned char uc_reg_addr;
//extern char asus_lcd_id[2];
//touch_control=1

printk("[Focal][Touch] FTxxxx probe process Start !\n");
/*get some register information */
/* uc_reg_addr = FTXXXX_REG_FW_VER;
err = ftxxxx_i2c_Read(client, &uc_reg_addr, 1, &uc_reg_value, 1);
printk("[Focal][Touch] matt-failure\n");
if (err < 0)
{
printk("[Focal][Touch] return \n");
ftxxxx_ts->init_success = 0;
kfree(pdata);
kfree(input_dev);
printk("[Focal][Touch] return 1\n");
return 1;
}
else {
ftxxxx_ts->init_success = 1;
// printk("hjptest--->[Focal][Touch] Firmware version = 0x%x\n", uc_reg_value);
}*/


最后发现是因为ftxxxx_ts这个结构体是在后面才init的而我提前用了init_success这个成员变量,浪费半天时间。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值