linux自带的usbtouchscreen.c也有bug?你猜对了!
2013-10-24 09:37
295 查看
问题出在usbtouch_irq
当出现EPIPE错误时,驱动并未做太多处理。
然后,就没有然后了,触控屏从此不动了!触控屏厂家老板带着他的小姨子跑了!
什么时候会出现EPIPE错误呢?
USB作为连接器件,不能假设硬件完全稳定的,什么都有可能。
linux在它的HID设备驱动里,针对这种EPIPE错误的情况,
在hid_irq_in做了如下的处理,
为什么在触控屏这里就视若无睹了?
(转载请标明:http://www.cnblogs.com/xhawk18/)
case -ECONNRESET: case -ENOENT: case -ESHUTDOWN: case -EPIPE: /* this urb is terminated, clean up */ dbg("%s - urb shutting down with status: %d", __func__, urb->status); return;
当出现EPIPE错误时,驱动并未做太多处理。
然后,就没有然后了,触控屏从此不动了!触控屏厂家老板带着他的小姨子跑了!
什么时候会出现EPIPE错误呢?
USB作为连接器件,不能假设硬件完全稳定的,什么都有可能。
linux在它的HID设备驱动里,针对这种EPIPE错误的情况,
在hid_irq_in做了如下的处理,
case -EPIPE: /* stall */ usbhid_mark_busy(usbhid); clear_bit(HID_IN_RUNNING, &usbhid->iofl); set_bit(HID_CLEAR_HALT, &usbhid->iofl); schedule_work(&usbhid->reset_work); return;
为什么在触控屏这里就视若无睹了?
(转载请标明:http://www.cnblogs.com/xhawk18/)
相关文章推荐
- linux内核usb触摸屏驱动bug调试- selected device is not a touchscreen I understand
- Linux usbtouchscreen驱动分析
- linux内核usb触摸屏驱动bug调试- selected device is not a touchscreen I understand
- usb_touch_screen Linux 驱动
- Linux ——usb触摸屏驱动 - usbtouchscreen
- Linux usbtouchscreen驱动分析
- Button input interrupt under linux kernel 2.6.35.7 send message to touch screen
- Linux中USB鼠标驱动详解(讲解内核自带源码)
- linux 3.15.2 触摸屏移植之selected device is not a touchscreen I understand
- Linux 2.4.18的内核在使用S3C2410板的USB设备时碰到的一个Bug的解决办法
- Linux-Touchscreen Driver for X
- SkyEye TouchScreen For S3C2410 & Linux 2.6.36
- sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
- usbtouch的linux驱动分析
- I.MX6 Linux eGTouch TouchScreen porting
- Touch Screen Driver for Linux2.6.xx+ARM9
- 10.34 linux系统日志 10.35 screen工具
- 异国也有欢乐:北京Linux User Group探访实录
- linux命令学习之touch命令
- Linux下完美驱动HTC Android手机的Internet传输(通过USB共享电脑网络)