From patchwork Wed Dec 22 21:07:33 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 428621 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oBML7tJI014935 for ; Wed, 22 Dec 2010 21:07:55 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751475Ab0LVVHw (ORCPT ); Wed, 22 Dec 2010 16:07:52 -0500 Received: from mail-ww0-f44.google.com ([74.125.82.44]:33411 "EHLO mail-ww0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751218Ab0LVVHv (ORCPT ); Wed, 22 Dec 2010 16:07:51 -0500 Received: by wwa36 with SMTP id 36so5735217wwa.1 for ; Wed, 22 Dec 2010 13:07:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:mime-version:content-type:content-disposition:user-agent; bh=desjnh7r/FK1HY5xfQKAgoZfZJd7GPI8P07KHnS2RPg=; b=sqYlTIwoi/u3yPGdI9viIxp3JIDTgI36gNYrRuEw3kCqkTtvHBtG2mu9bWXgPEXL35 6WvMKr66XQ5wFr/3+shfQRhmyZlwI0qhmeTQ3IhTifkqklXxvy49+G0vVqAtl1fyZqte pEHdwt83GXOkpnUatf3ZhfsDGfmsm1XDYp+AU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; b=xlkUlO1uRLCNuoavkyozb/iejQWuzihWLHZLHwpzchCwu7MJsng7LU2DWh5vxQLyJh C6HBbaoP/IdsE+6lPWNQn55qxEg6wCGwWMp1xNLiIW6gNGLAMTeIWj91EDt2WHFQxXez WF7FCZd1SC2EVSItIJhXU4N2kHKA87+jqV6t0= Received: by 10.216.51.67 with SMTP id a45mr742906wec.19.1293052069543; Wed, 22 Dec 2010 13:07:49 -0800 (PST) Received: from bicker ([41.202.225.147]) by mx.google.com with ESMTPS id o33sm3370377wej.13.2010.12.22.13.07.44 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 22 Dec 2010 13:07:48 -0800 (PST) Date: Thu, 23 Dec 2010 00:07:33 +0300 From: Dan Carpenter To: Greg Kroah-Hartman Cc: Henrik Rydberg , Naveen Kumar Gaddipati , Linus Walleij , devel@driverdev.osuosl.org, linux-input@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [patch -next] Staging: ste_rmi4: use after input_unregister_device() Message-ID: <20101222210733.GJ1936@bicker> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Wed, 22 Dec 2010 21:07:56 +0000 (UTC) diff --git a/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c b/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c index e8f047e..80183a7 100644 --- a/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c +++ b/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c @@ -986,12 +986,6 @@ static int __devinit synaptics_rmi4_probe input_set_abs_params(rmi4_data->input_dev, ABS_MT_TOUCH_MAJOR, 0, MAX_TOUCH_MAJOR, 0, 0); - retval = input_register_device(rmi4_data->input_dev); - if (retval) { - dev_err(&client->dev, "%s:input register failed\n", __func__); - goto err_input_register; - } - /* Clear interrupts */ synaptics_rmi4_i2c_block_read(rmi4_data, rmi4_data->fn01_data_base_addr + 1, intr_status, @@ -1003,15 +997,20 @@ static int __devinit synaptics_rmi4_probe if (retval) { dev_err(&client->dev, "%s:Unable to get attn irq %d\n", __func__, platformdata->irq_number); - goto err_request_irq; + goto err_unset_clientdata; + } + + retval = input_register_device(rmi4_data->input_dev); + if (retval) { + dev_err(&client->dev, "%s:input register failed\n", __func__); + goto err_free_irq; } return retval; -err_request_irq: +err_free_irq: free_irq(platformdata->irq_number, rmi4_data); - input_unregister_device(rmi4_data->input_dev); -err_input_register: +err_unset_clientdata: i2c_set_clientdata(client, NULL); err_query_dev: if (platformdata->regulator_en) {