Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: usbtouchscreen - extend coordinate range for Generaltouch devices
Input: polldev can cause crash in case when polling disabled

+10 -4
+6
drivers/input/input-polldev.c
··· 100 100 struct input_polled_dev *dev = input_get_drvdata(input); 101 101 102 102 cancel_delayed_work_sync(&dev->work); 103 + /* 104 + * Clean up work struct to remove references to the workqueue. 105 + * It may be destroyed by the next call. This causes problems 106 + * at next device open-close in case of poll_interval == 0. 107 + */ 108 + INIT_DELAYED_WORK(&dev->work, dev->work.work.func); 103 109 input_polldev_stop_workqueue(); 104 110 105 111 if (dev->close)
+4 -4
drivers/input/touchscreen/usbtouchscreen.c
··· 618 618 #ifdef CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH 619 619 static int general_touch_read_data(struct usbtouch_usb *dev, unsigned char *pkt) 620 620 { 621 - dev->x = ((pkt[2] & 0x0F) << 8) | pkt[1] ; 622 - dev->y = ((pkt[4] & 0x0F) << 8) | pkt[3] ; 621 + dev->x = (pkt[2] << 8) | pkt[1]; 622 + dev->y = (pkt[4] << 8) | pkt[3]; 623 623 dev->press = pkt[5] & 0xff; 624 624 dev->touch = pkt[0] & 0x01; 625 625 ··· 809 809 #ifdef CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH 810 810 [DEVTYPE_GENERAL_TOUCH] = { 811 811 .min_xc = 0x0, 812 - .max_xc = 0x0500, 812 + .max_xc = 0x7fff, 813 813 .min_yc = 0x0, 814 - .max_yc = 0x0500, 814 + .max_yc = 0x7fff, 815 815 .rept_size = 7, 816 816 .read_data = general_touch_read_data, 817 817 },