[求助]CH382S雙串口在ubuntu13.10下驅(qū)動初始化失敗

系統(tǒng)使用的是ubuntu13.10,內(nèi)核版本是3.8.0-34-generic。 按照驅(qū)動readme說明步驟進(jìn)行。其中編譯時(shí)曾經(jīng)報(bào)錯,經(jīng)查源碼,是struct tty_struct結(jié)構(gòu)定義發(fā)生變化造成的。修改相關(guān)位置后編譯通過。 安裝后,lspci能看到lc00:3253??磀mesg,報(bào)錯"BUG unable tu handle kernel NULL pointer derefernce at (null)"。具體問題定位到tty_register_driver()中出錯,cdev_init+0x35/0x90。 Call Trace內(nèi)容如下: [] tty_register_device_attr+0x82/0x200 [ 4.416440] [] ? strlcpy+0x39/0x50 [ 4.420322] [] ? __register_chrdev_region+0xc0/0x160 [ 4.424282] [] tty_register_device+0x1f/0x30 [ 4.428471] [] tty_register_driver+0xf9/0x170 [ 4.432711] [] wch_ser_register_driver+0x262/0x290 [wch] [ 4.437085] [] wch_init+0x8a7/0x1000 [wch] [ 4.441514] [] do_one_initcall+0x34/0x170 [ 4.445921] [] ? 0xf8433fff [ 4.450469] [] do_init_module+0x80/0x1c6 [ 4.455073] [] load_module+0x41b/0x5f0 [ 4.459791] [] ? add_kallsyms+0x1e0/0x1e0 [ 4.464580] [] ? _copy_from_user+0x42/0x60 [ 4.469611] [] sys_init_module+0x86/0xa0 [ 4.474633] [] sysenter_do_call+0x12/0x28

請問這個(gè)可能是什么原因造成的,怎么測試或解決?多謝大家

問題解決了,是alloc_tty_driver 之后memset時(shí),把已經(jīng)申請的指針賦值0了。

新問題: board_membase這個(gè)成員變量是否需要ioremap?如果不用,readb的時(shí)候就報(bào)錯。如果需要ioremap,則跟WCH_UPIO_PORT 的定義是否沖突。


驅(qū)動已經(jīng)更新,若需要請聯(lián)系tech@wch.cn


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频