当前位置:  技术问答>linux和unix

嵌入式2.6.8对自旋锁分配内存失败

    来源: 互联网  发布时间:2016-03-02

    本文导语:    小弟最近在升级一个无线芯片的驱动程序,从嵌入式Linux的2.4.18到2.6.8,碰到了一个调用kmalloc分配内存失败的情况,具体的我先帖一小段代码:     tSize = sizeof(spinlock_t);// Allocate memory for the spinlock  tStatus = ...

  小弟最近在升级一个无线芯片的驱动程序,从嵌入式Linux的2.4.18到2.6.8,碰到了一个调用kmalloc分配内存失败的情况,具体的我先帖一小段代码:
    tSize = sizeof(spinlock_t);// Allocate memory for the spinlock 
tStatus = PhgOsalMalloc(pvAdapterHandle, (UINT32*)&tSize,0, &pLockCtx->pvLockObj);

似乎是给自旋锁分配内存的时候出错了,下面贴出PhgOsalMalloc函数原型

   UINT8 PhgOsalMalloc(IN PHG_OSAL_PCB pvHosalHandle, IN UINT32 *pSize, 
                       IN UINT32 u32ParamFlags, IN OUT PVOID *ppvPtr )
       {    UINT32 u32Flags = 0;
    
            if (0 == *pSize)
            { 
DBG_MSG_VBOSE("Failed! Leaving...n");
                return OSAL_STATUS_FAILURE;
            }

            u32Flags = (u32ParamFlags == OSA_MEM_DMA)? 
                    GFP_ATOMIC | GFP_DMA: GFP_ATOMIC; 
           *ppvPtr = kmalloc(*pSize,u32Flags);

           if (*ppvPtr == NULL)
           {  DBG_MSG_ERRO("Failed! Leaving...n");
              return OSAL_STATUS_FAILURE;
           }
   return OSAL_STATUS_SUCCESS;
       }
   先初步确定是在*ppvPtr = kmalloc(*pSize,u32Flags);这行出错了(调试信息"Failed! Leaving...n"输出了);,在我原来的嵌入式Linux的2.4.18的平台上没有问题,现在升级到2.6.8就出错了,我对自旋锁这方面不太理解,请高手帮忙看看啊,先谢了。
 

|
和自旋锁应该没有关系,建议检查一下pLockCtx->pvLockObj,或者用局部变量替代测试一下。另外2个地方的调试信息好像都是"Failed! Leaving...n",应该确认过是后者了吧,呵呵。

BTW,看起来你用的是NXP的BGWxxx芯片,请注意其driver(for 2.4)还是有挺多bugs的。

    
 
 

您可能感兴趣的文章:

  • 请问在哪下载嵌入式Linux开发平台???想学嵌入式开发!!!
  • 有谁做过嵌入式 Linux开发?是否有嵌入式Linux的JVM?
  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • 问一个弱弱的问题:做嵌入式开发,宿主机的Linux版本一定要跟目标机上的嵌入式Linux版本一致么?
  • 我怎么糊涂了:想开发嵌入式系统(目标机采用UCLINUX嵌入式操作系统),在RED HAT LINUX下开发,选用什么工具呢?QT还是qt embedded?
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 请问什么是嵌入式数据库?(空)
  • 关于“嵌入式Linux”
  • 嵌入式系统的学习
  • 嵌入式学习方法
  • 请问:构建一个嵌入式开发环境时的疑问?
  • linux 嵌入式开发用买开发板吗?
  • 求嵌入式Linux的入门书籍!
  • 嵌入式应用开发协作系统 Yocto
  • 嵌入式系统的C运行库 Newlib
  • 嵌入式GLIBC EGLIBC
  • 驱动程序开发和嵌入式开发有什么联系吗?
  • 嵌入式 syslog
  • vc++与Linux嵌入式
  • 计算机专业学习 嵌入式可以么 ??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 现在LINUX主要用在哪些嵌入式设备上?
  • 嵌入式系统 Prex
  • web开发和嵌入式开发哪个更有挑战
  • 嵌入式linux 组播接收问题
  • Linux的嵌入式开发,请高手指点
  • 国内有哪些好的嵌入式公司???
  • 开源嵌入式操作系统 Contiki
  • 嵌入式Web服务器 Appweb
  • 实时嵌入式操作系统 NuttX
  • 嵌入式系统虾米意思呀?
  • Linux 用什么工具进行嵌入式开发。
  • 我想学习Linux 嵌入式开发,请大家指教
  • java 还是LINUX嵌入式???
  • 了解嵌入式开发的朋友请进!
  • 是考验还是嵌入式??
  • linux运维转linux嵌入式
  • 嵌入式GUI库 eSWT
  • 嵌入式系统考研请教?
  • ARM 嵌入式系统的仿真器 Softgun
  • 如何开发嵌入式Linux操作系统?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3