From patchwork Sat Aug 15 14:40:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Assmann X-Patchwork-Id: 7020821 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id CC8FE9F344 for ; Sat, 15 Aug 2015 14:50:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id F1F0320611 for ; Sat, 15 Aug 2015 14:50:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2D417205CA for ; Sat, 15 Aug 2015 14:50:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753556AbbHOOuR (ORCPT ); Sat, 15 Aug 2015 10:50:17 -0400 Received: from mysql.app1.xlhost.de ([84.200.252.164]:35593 "EHLO app1b.xlhost.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752183AbbHOOuP (ORCPT ); Sat, 15 Aug 2015 10:50:15 -0400 X-Greylist: delayed 580 seconds by postgrey-1.27 at vger.kernel.org; Sat, 15 Aug 2015 10:50:14 EDT Received: from x121e.fritz.box (p548A42E1.dip0.t-ipconnect.de [84.138.66.225]) (Authenticated sender: sassmann@kpanic.de) by app1b.xlhost.de (Postfix) with ESMTPSA id B921B303E247; Sat, 15 Aug 2015 16:40:29 +0200 (CEST) From: Stefan Assmann To: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org, dmitry.torokhov@gmail.com, sassmann@kpanic.de Subject: [PATCH] Input: psmouse - add small delay for IBM trackpoint pass-through mode Date: Sat, 15 Aug 2015 16:40:18 +0200 Message-Id: <1439649618-3366-1-git-send-email-sassmann@kpanic.de> X-Mailer: git-send-email 2.4.3 X-Virus-Scanned: clamav-milter 0.98.1 at app1b.xlhost.de X-Virus-Status: Clean X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There are trackpoint devices that fail to respond to the PS2 command PSMOUSE_CMD_GETID if immediately queried after the parent device is deactivated. Add a small delay for the hardware to get in a sane state before sending any PS2 commands. One example of such a system is: Lenovo ThinkPad X120e, model 30515QG synaptics: Touchpad model: 1, fw: 8.0, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x121c00, board id: 1811, fw id: 797391 Signed-off-by: Stefan Assmann --- drivers/input/mouse/psmouse-base.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index ec347703..ad18dab 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -1540,6 +1540,10 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv) if (error) goto err_clear_drvdata; + /* give PT device some time to settle down before probing */ + if (serio->id.type == SERIO_PS_PSTHRU) + usleep_range(10000, 15000); + if (psmouse_probe(psmouse) < 0) { error = -ENODEV; goto err_close_serio;