]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/input/mouse/synaptics.c
Input: synaptics - relax capability ID checks on newer hardware
[net-next-2.6.git] / drivers / input / mouse / synaptics.c
index 9ba9c4a17e1541a48a5f8a5a90606d6d3aecb02e..705589dc9ac50678f080f8b6a86dcc8443a573fb 100644 (file)
@@ -141,8 +141,13 @@ static int synaptics_capability(struct psmouse *psmouse)
        priv->capabilities = (cap[0] << 16) | (cap[1] << 8) | cap[2];
        priv->ext_cap = priv->ext_cap_0c = 0;
 
-       if (!SYN_CAP_VALID(priv->capabilities))
+       /*
+        * Older firmwares had submodel ID fixed to 0x47
+        */
+       if (SYN_ID_FULL(priv->identity) < 0x705 &&
+           SYN_CAP_SUBMODEL_ID(priv->capabilities) != 0x47) {
                return -1;
+       }
 
        /*
         * Unless capExtended is set the rest of the flags should be ignored