X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=drivers%2Finput%2Fmouse%2Ftrackpoint.c;h=46c614558b2fdd247dde6ffdadbf4a0832636aca;hp=54b2fa892e1941b76d3d863013b85a4884595770;hb=a75a6c8641e59892466fee830fc9f4d502357a8c;hpb=e6d06e085bb5e7769c91bd14eb46094034fff8e6 diff --git a/drivers/input/mouse/trackpoint.c b/drivers/input/mouse/trackpoint.c index 54b2fa892e19..46c614558b2f 100644 --- a/drivers/input/mouse/trackpoint.c +++ b/drivers/input/mouse/trackpoint.c @@ -186,7 +186,8 @@ static int trackpoint_start_protocol(struct psmouse *psmouse, unsigned char *fir if (ps2_command(&psmouse->ps2dev, param, MAKE_PS2_CMD(0, 2, TP_READ_ID))) return -1; - if (param[0] != TP_MAGIC_IDENT) + /* add new TP ID. */ + if (!(param[0] & TP_MAGIC_IDENT)) return -1; if (firmware_id) @@ -297,8 +298,11 @@ int trackpoint_detect(struct psmouse *psmouse, bool set_properties) return 0; if (trackpoint_read(&psmouse->ps2dev, TP_EXT_BTN, &button_info)) { - printk(KERN_WARNING "trackpoint.c: failed to get extended button data\n"); - button_info = 0; + printk(KERN_WARNING "trackpoint.c: failed to get extended button data, assuming 3 buttons\n"); + button_info = 0x33; + } else if (!button_info) { + printk(KERN_WARNING "trackpoint.c: got 0 in extended button data, assuming 3 buttons\n"); + button_info = 0x33; } psmouse->private = kzalloc(sizeof(struct trackpoint_data), GFP_KERNEL);