Project

General

Profile

Actions

Bug #1020

closed

xinput-tslib driver crashes on ads7486

Added by Hammel 10 months ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
04 Aug 2023
Due date:
% Done:

100%

Estimated time:
Severity:
03 - Medium

Description

The bug looks like this in the X.org.log:

[  2534.880] (**) ADS7846 Touchscreen: always reports core events
[  2534.880] (EE) tslib: ADS7846 Touchscreen: ioctl EVIOCGBIT failed(EE) PreInit returned 2 for "ADS7846 Touchscreen" 
[  2534.880] (EE) 
[  2534.880] (EE) Backtrace:
[  2534.880] (EE) 
[  2534.880] (EE) Segmentation fault at address 0x0
[  2534.880] (EE) 
Fatal server error:
[  2534.880] (EE) Caught signal 11 (Segmentation fault). Server aborting

The only place I have found (yet) related to the log messages is here.
buildroot-2023.02.2/output/build/xdriver_xf86-input-tslib-1.1.1/src/tslib.c:625
    if (ioctl(pInfo->fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit) < 0) {
        xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGBIT failed");
        return BadValue;
    }

This occurs during tslib initialization (re: xf86TslibInit()) in the xorg tslib input driver.
Note that evtest works fine with the touchscreen. Also ts_* commands work with the touchscreen as long as TSLIB_TSDEVICE=/dev/input/event0 is set before the command is run.

Note:
Disabling /usr/lib/xorg/modules/input/tslib_drv.so completely (just renaming it) fixes the problem and the touschscreen still works because the apps use tslib directly.

References
Actions

Also available in: Atom PDF