免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2384 | 回复: 8
打印 上一主题 下一主题

模块编译问题(神人们都来看看啊) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-16 14:24 |只看该作者 |倒序浏览
本帖最后由 ruoyisiyu 于 2010-12-16 15:30 编辑

我自己写了一个usb modem驱动模块(注册一个usb_serial),如果我在init函数中添加'一个printk打印信息,在2.6.21内核编译时候就会报如下错误:
MODPOST vmlinux
WARNING: vmlinux: 'kfree' exported twice.Previous export was in vmlinux
/bin/sh: line1:29822 Segmentation fault
  1. static int _init modem_usb_int(void)
  2. {
  3.         .....
  4. printk("Enter..\n");\\debug,happens issue
  5. ......
  6. return 0;
  7. }
  8. static void __exit modem_usb_exit(void)
  9. {
  10. ............
  11. }
  12. module_init(modem_usb_init);
  13. module_exit(modem_usb_exit);
  14. module_param(vid,uint,S_IRUGO|S_IWUSR);
  15. MODULE_PARM_DESC(vid,"Vendor id");
复制代码
但是在2.6.26内核编译同样的代码,就没有任何问题,Driver也能注册正常工作。

大家有人知道这个问题么?帮忙解决一下,太奇怪了

论坛徽章:
0
2 [报告]
发表于 2010-12-16 14:31 |只看该作者
本帖最后由 ruoyisiyu 于 2010-12-16 14:33 编辑

另外,头文件以及codes中并没有主动export kfree.,不加printk打印信息就没有问题,而且在本模块其他函数添加打印信息也没有问题。

论坛徽章:
0
3 [报告]
发表于 2010-12-16 14:49 |只看该作者
没人遇到过?

论坛徽章:
0
4 [报告]
发表于 2010-12-16 14:59 |只看该作者
大哥们帮帮忙,不要老让我自己盖楼

论坛徽章:
0
5 [报告]
发表于 2010-12-16 23:07 |只看该作者
回复 4# ruoyisiyu


    能不能把你完整的驱动代码和 Makefile 贴出来。。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
6 [报告]
发表于 2010-12-17 13:36 |只看该作者
printk("Enter..\n");\\debug,happens issue

这行是你程序的原始代码吗

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
7 [报告]
发表于 2010-12-17 14:23 |只看该作者
你这个注释好有个性

论坛徽章:
0
8 [报告]
发表于 2010-12-18 10:23 |只看该作者
回复 6# Godbach
不是,只是我为了阐述我的问题,发帖子加的,我也发现了不应该是"\\",这纯粹是笔误,sorry.

论坛徽章:
0
9 [报告]
发表于 2010-12-18 10:27 |只看该作者
后来发现是,用
  1. MOD]ULE_DEVICE_TABLE(usb,id_table);
复制代码
这个宏引起的。id_table定义时没有初始化(
  1. static struct usb_device_id id_table[16];
复制代码
),我本意是让module在检测到特定porc文件更改时再做初始化
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP