以ohcd为例,其urb的dequeue函数调用了usb_hcd_giveback_urb()函数,把urb由hcd回交了core。然而在usb_hcd_giveback_urb()中有这么一句,urb->complete (urb, regs);调用urb处理的回调函数,进行处理。 而设备驱动的回调函数难道不是通过hcd_unlink_urb()的调用来取消一个urb的吗?可是在这其中这么一句却把我弄糊涂了 hcd->driver->urb_dequeue (hcd, urb); 这不是个死循环吗?哪位高手能帮忙解答一下?谢谢~
by jino - 内核/嵌入技术 - 2006-06-05 17:23:52 阅读(469) 回复(0)
我在学习写linux下的USB设备驱动,我的内核版本是2.6.x。 在使用urb进行bulk读操作时,我该如何判断是否已经读成功呢?在什么时候把读成功的数据返回给用户空间呢? 我将USB设备映射为字符设备,在Read函数中,我首先创建urb,然后初始化,提交。 urb = usb_alloc_urb(0, GFP_KERNEL); buf = usb_buffer_alloc(dev->udev, count, GFP_KERNEL, &urb->transfer_dma); usb_fill_urb(urb, dev->udev, usb_rcvbulkpipe(dev->udev, dev...
好人真多 超级方便的linux命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息 文件管理 # pwd pwd 查看当前所在目录的绝对路经 文件管理 # cd cd .. 回当前目录的上一级目录 文件管理 # cd cd - 回上一次所在的目录 文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录 ...
linux系统概述和系统特点 · 50个系统基本命令 · vi等编辑器使用 · bash特点与使用 linux系统与设备 · linux系统的体系结构 · linux的文件系统管理 · linux用户管理 · swap分区管理 · linux软件包管理 · linux设备管理 linux的进程管理与作业管理 · linux系统shell编程 · X Window系统使用与配置 · 桌面环境(GNOME,KDE)与窗口管理器 · linux服务器远程图形...
linux系统&网络管理 · 课程简介: 如果您想系统的学习linux课程,以此迈入linux行业,或是做为进一步学习UNIX的基础如果您想丰富基于linux平台的系统与网络管理经验如果您想与工作三年以上的linux系统管理专家交流,想了解linux在中小企业的广泛应用那么,请您选择这门课程。 · 课程目标: linux(工作站、服务器)的用户和初级系统管理员 · 上课环境: 由Sun工作站、Solaris操作系统、HP小型机、HP-UX操作系统、IBM工作站、...