]> err.no Git - linux-2.6/blobdiff - drivers/input/mouse/psmouse-base.c
Input: do not corrupt system-wide procfs fops.
[linux-2.6] / drivers / input / mouse / psmouse-base.c
index 4be21847c67d232a799aab5fd71fadef6dca72be..0ecf1297b6a84ba16fa6718e01259f5c2bfee981 100644 (file)
@@ -424,8 +424,18 @@ static int psmouse_extensions(struct psmouse *psmouse,
 {
        int synaptics_hardware = 0;
 
-       if (lifebook_detect(psmouse, max_proto, set_properties) == 0)
-               return PSMOUSE_LIFEBOOK;
+/*
+ * We always check for lifebook because it does not disturb mouse
+ * (it only checks DMI information).
+ */
+       if (lifebook_detect(psmouse, set_properties) == 0 ||
+           max_proto == PSMOUSE_LIFEBOOK) {
+
+               if (max_proto > PSMOUSE_IMEX) {
+                       if (!set_properties || lifebook_init(psmouse) == 0)
+                               return PSMOUSE_LIFEBOOK;
+               }
+       }
 
 /*
  * Try Kensington ThinkingMouse (we try first, because synaptics probe