当前位置:七道奇文章资讯安全技术网络技术
日期:2011-08-12 12:14:00  来源:本站整理

办理Ubuntu安装无线网卡驱动因"init_mutex"被撤废编译不过的问题[网络技术]

赞助商链接



  本文“办理Ubuntu安装无线网卡驱动因"init_mutex"被撤废编译不过的问题[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

买无线网卡的时刻我特地找了一个同时具有win,linux和mac三个平台的驱动的的网卡.但是Ubuntu11.04中安装无线网卡的时刻,发现驱动模块的代码编译不过.缘由定位到了init_mutex的地方.

error: implicit declaration of function ‘init_MUTEX’

后来一查,在新版本的linux内核中,init_mutex已经被撤废了.

查了一下早期版本的定义.

平台:X86 32位

内核:2.6.24

定义:

static inline void init_MUTEX (struct semaphore *sem)

{

        sema_init(sem, 1);

}

阐明:Init_MUTEX()函数初始化信号量为互斥量. 互斥量为信号量的特例,它可以避免数据被两个差别系统调用读写.

static inline void sema_init (struct semaphore *sem, int val)

{

/*

*    *sem = (struct semaphore)__SEMAPHORE_INITIALIZER((*sem),val);

*

* i'd rather use the more flexible initialization above, but sadly

* GCC 2.7.2.3 emits a bogus warning. EGCS doesn't. Oh well.

*/

    atomic_set(&sem->count, val);

    sem->sleepers = 0;

    init_waitqueue_head(&sem->wait);

}

sleepers : 指定了答应进入等候进入临界区的进程数,这里初始化为0 .

init_waitqueue_head() : 初始化一个等候行列头.

按照代码判断,只要在init_mutex的地方直接利用sema_init来替换,试了一些,公然可以成功make.驱动成功安装也可以正常利用.

代码大约是这样的init_MUTEX(&wl->sem); 手动改正成sema_init(&wl->sem,1); 然后再举行编译便可以.

本文来自 http://www.110hack.com/ (黑客技术)


  以上是“办理Ubuntu安装无线网卡驱动因"init_mutex"被撤废编译不过的问题[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 办理Ubuntu 7.10启动慢的问题
  • 办理Ubuntu 9.10安装PostgreSQL 8.4不能启动问题
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • 办理Ubuntu安装Cairo-Dock后Skype视频无法显示的问题
  • 办理Ubuntu Server SNMP无法远程拜候问题
  • 办理Ubuntu中sudoers崩溃而无root权限的问题
  • 办理Ubuntu的乱码问题
  • 办理Ubuntu下文本文档汉字乱码
  • xrandr号令办理Ubuntu投影仪问题
  • 办理Ubuntu 10.04上网速度慢的问题
  • 办理Ubuntu浏览网页速度慢的问题
  • 办理Ubuntu 11.04衔接Wifi速度慢的问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .