When oVid/oPid data was added for several "split" devices in afb48f975b, the data was only added to the touch half. This means that the current logic to link the two halves together will only work when the pen half is detected first. This would cause arbitration issues if the probe order is reversed and touch is detected first. By adding the oVid/oPid data to the pen side as well, the logic will link the devices regardless of probe order.
Fixes: afb48f975b ("Add support for WACOM_24HDT and WACOM_27QHDT touch sensors to 2.6.30 / 2.6.36") Signed-off-by: Jason Gerecke <jason.gere...@wacom.com> --- 2.6.30/wacom_wac.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/2.6.30/wacom_wac.c b/2.6.30/wacom_wac.c index 82412d0..c47ea66 100644 --- a/2.6.30/wacom_wac.c +++ b/2.6.30/wacom_wac.c @@ -2634,7 +2634,8 @@ static const struct wacom_features wacom_features_0xF8 = { "Wacom Cintiq 24HD touch", WACOM_PKGLEN_INTUOS, 104480, 65600, 2047, 63, /* Pen */ WACOM_24HD, 16, WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, - WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET }; + WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, + .oVid = USB_VENDOR_ID_WACOM, .oPid = 0xf6 }; static const struct wacom_features wacom_features_0xF6 = { "Wacom Cintiq 24HD touch", .type = WACOM_24HDT, /* Touch */ .oVid = USB_VENDOR_ID_WACOM, .oPid = 0xf8, .touch_max = 10 }; @@ -2647,7 +2648,8 @@ static const struct wacom_features wacom_features_0x32B = { "Wacom Cintiq 27QHD touch", WACOM_PKGLEN_INTUOS, 120140, 67920, 2047, 63, WACOM_27QHD, 0, WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, - WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET }; + WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, + .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x32C }; static const struct wacom_features wacom_features_0x32C = { "Wacom Cintiq 27QHD touch", .type = WACOM_27QHDT, .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x32B, .touch_max = 10 }; @@ -2669,7 +2671,8 @@ static const struct wacom_features wacom_features_0x333 = { "Wacom Cintiq 13HD touch", WACOM_PKGLEN_INTUOS, 59552, 33848, 2047, 63, WACOM_13HD, 9, WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, - WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET }; + WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, + .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x335 }; static const struct wacom_features wacom_features_0x335 = { "Wacom Cintiq 13HD touch", .type = WACOM_24HDT, /* Touch */ .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x333, .touch_max = 10 }; @@ -2711,7 +2714,8 @@ static const struct wacom_features wacom_features_0x59 = /* Pen */ { "Wacom DTH2242", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047, 63, DTK, 6, WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, - WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET }; + WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, + .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5D }; static const struct wacom_features wacom_features_0x5D = /* Touch */ { "Wacom DTH2242", .type = WACOM_24HDT, .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x59, .touch_max = 10 }; @@ -2729,7 +2733,8 @@ static const struct wacom_features wacom_features_0x5B = { "Wacom Cintiq 22HDT", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047, 63, WACOM_22HD, 18, WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, - WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET }; + WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET, + .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5e }; static const struct wacom_features wacom_features_0x5E = { "Wacom Cintiq 22HDT", .type = WACOM_24HDT, .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5b, .touch_max = 10 }; -- 2.16.2 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel