Skip to contentSkip to conversation

psmouse: fix ExPS/2 probing

PATCH New Kim Holviala 1 participant 1 message Apr 22, 2004 Input drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 psmouse: fix ExPS/2 probing

Split off from an earlier (big and confusing) patch.

Some mice (Logitech trackballs at least) support ExPS/2 but don't support ImPS/2. The current probing order forces all such devices to use regular three-button PS/2. This patch fixes it by taking the ExPS/2 probing out of the ImPS/2 if-then block.

Applies to 2.6.5, 2.6.6-rc2. Won't apply to rc2-mm1 nor on top of Dmitry's patches.

The third part of the earlier patch fixed protocol probing, but I'll wait 2.6.6 comes out until I redo it.

Kim

drivers/input/mouse/psmouse-base.c +9 -9
@@ -414,19 +414,19 @@
 	if (psmouse_max_proto >= PSMOUSE_IMPS && intellimouse_detect(psmouse)) {
 		set_bit(REL_WHEEL, psmouse->dev.relbit);
 
-		if (psmouse_max_proto >= PSMOUSE_IMEX &&
-					im_explorer_detect(psmouse)) {
-			set_bit(BTN_SIDE, psmouse->dev.keybit);
-			set_bit(BTN_EXTRA, psmouse->dev.keybit);
-
-			psmouse->name = "Explorer Mouse";
-			return PSMOUSE_IMEX;
-		}
-
 		psmouse->name = "Wheel Mouse";
 		return PSMOUSE_IMPS;
 	}
 
+	if (psmouse_max_proto >= PSMOUSE_IMEX && im_explorer_detect(psmouse)) {
+		set_bit(REL_WHEEL, psmouse->dev.relbit);
+		set_bit(BTN_SIDE, psmouse->dev.keybit);
+		set_bit(BTN_EXTRA, psmouse->dev.keybit);
+
+		psmouse->name = "Explorer Mouse";
+		return PSMOUSE_IMEX;
+	}
+
 /*
  * Okay, all failed, we have a standard mouse here. The number of the buttons
  * is still a question, though. We assume 3.