linux2.6内核移植zc301摄像头时 kernel BUG at arch/arm/mm/dma-mapping.c:409!..的解决方法
来源:互联网 发布:郭沁夺冠知乎 编辑:程序博客网 时间:2024/05/20 09:22
当插上一些在ARM上的摄像头,系统崩溃.这是因为我们分配缓冲一个URB通过usb_buffer_alloc,分配的缓冲区已经在DMA连贯的区域,因此,我们应该设置标志这个urb到URB_NO_TRANSFER_DMA_MAP,否则当我们提交这个urb,HCD核心处理这个地址作为非DMA地址和呼叫dma_map_single / SG映射。 在ARM架构上,dma_map_single连贯的一个DMA地址将被一个BUG_ON()截获。
修改内核'目录下drivers/media/video/gspca/gspca.c文件
static int alloc_and_submit_int_urb(struct gspca_dev *gspca_dev, (在这个函数下边加上绿色部分)
usb_rcvintpipe(dev, ep->bEndpointAddress),
buffer, buffer_len,
int_irq, (void *)gspca_dev, interval);
urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;(加上这一行)
gspca_dev->int_urb = urb;
ret = usb_submit_urb(urb, GFP_KERNEL);
- linux2.6内核移植zc301摄像头时 kernel BUG at arch/arm/mm/dma-mapping.c:409!..的解决方法
- kernel BUG at mm/slab.c
- kernel BUG at mm/slab.c
- arch\arm\mm\mmu.c
- arch/arm/kernel/armksyms.c
- ZC301摄像头,OK6410的开发板,linux3.0.1,内核Oops的解决方法
- 移植ZC301摄像头到linux下
- 四极管:配置内核时kernel.git/arch/arm: Is a directory. Stop.
- linux kernel arm 的dma zone
- 关于arch/arm/kernel/return_address.c:66:7: error: redefinition of ‘return_address'的错误解决方案
- /arch/arm/kernel/setip.c 函数setup_arch()分析
- 基于linux-2.6.35的网络视频服务器移植和ZC301摄像头的驱动支持
- 基于linux-2.6.35的网络视频服务器移植和ZC301摄像头的驱动支持
- 最详尽的ARM+LINUX移植攻略 linux2.6.30.4内核+yaffs2文件系统+uboot 2009.08
- 内核配置zc301 uvc USB摄像头 android usb 摄像头
- linux2.6内核在2410上的移植
- Linux2.6内核驱动移植(与2.4模块的区别)
- 基于ZLG/BOOT的linux2.6内核移植(s3c2410)
- Linux下autoconf和automake使用
- 链表的实现
- 文字接口联机服务器:ssh服务器
- 'sqlplus' 不是内部或外部命令,也不是可运行的程序
- 对页游《小兵大战》服务器DM内存溢出的排错过程总结
- linux2.6内核移植zc301摄像头时 kernel BUG at arch/arm/mm/dma-mapping.c:409!..的解决方法
- Dozer实现对象间拷贝
- myeclipse懒人注册机使用教程(破解MyEclipse 10可用)
- 编程挑战(2)
- 3D打印制作假肢助左脚畸形小鸭正常行走
- vmware中的网络(bridge,nat)
- 存储过程
- xml的 一些简单操作
- Free Web Application Firewall