From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752581AbbCKLUL (ORCPT ); Wed, 11 Mar 2015 07:20:11 -0400 Received: from mga09.intel.com ([134.134.136.24]:56858 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750949AbbCKLUI (ORCPT ); Wed, 11 Mar 2015 07:20:08 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,381,1422950400"; d="scan'208";a="697105934" Date: Wed, 11 Mar 2015 13:20:03 +0200 From: Mika Westerberg To: Doug Anderson Cc: Jiri Kosina , Andrew Duggan , Vincent Huang , Benjamin Tissoires , Dmitry Torokhov , jmaneyrol@invensense.com, borneo.antonio@gmail.com, seth.forshee@canonical.com, archana.patni@linux.intel.com, "linux-input@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2] HID: i2c-hid: Fix suspend/resume when already runtime suspended Message-ID: <20150311112003.GN1563@lahna.fi.intel.com> References: <1425930287-4615-1-git-send-email-dianders@chromium.org> <20150310122307.GM1563@lahna.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 10, 2015 at 09:12:36AM -0700, Doug Anderson wrote: > Thanks for testing! Can you do a "dump_stack()" here? I'm curious > why it's deciding to runtime resume. Maybe something changed between > 3.14 and ToT? Here you go: [ 26.711737] i2c_hid i2c-ATML1000:00: PM: i2c-hid runtime resume [ 26.711754] CPU: 3 PID: 123 Comm: sh Not tainted 4.0.0-rc3+ #6 [ 26.711775] ffff88007604c600 ffff88007ba77ae8 ffffffff8183966e 0000000080000000 [ 26.711791] ffff88017a83a020 ffff88007ba77b08 ffffffff816a0759 ffff88017a83a020 [ 26.711804] ffff88017a83a0ce ffff88007ba77b18 ffffffff814ba3ee ffff88007ba77b38 [ 26.711807] Call Trace: [ 26.711835] [] dump_stack+0x4f/0x7b [ 26.711852] [] i2c_hid_runtime_resume+0x29/0x50 [ 26.711866] [] pm_generic_runtime_resume+0x2e/0x40 [ 26.711880] [] acpi_subsys_runtime_resume+0x1f/0x23 [ 26.711892] [] __rpm_callback+0x36/0x90 [ 26.711902] [] rpm_callback+0x26/0xa0 [ 26.711914] [] rpm_resume+0x496/0x670 [ 26.711928] [] __pm_runtime_resume+0x40/0x60 [ 26.711940] [] ? acpi_subsys_complete+0x1e/0x1e [ 26.711951] [] acpi_subsys_suspend+0x15/0x21 It's the ACPI power domain that runtime resumes the device before it suspends it for system sleep. [ 26.711964] [] dpm_run_callback+0x4c/0x150 [ 26.711978] [] __device_suspend+0xee/0x320 [ 26.711991] [] dpm_suspend+0x68/0x300 [ 26.712004] [] dpm_suspend_start+0x5f/0x70 [ 26.712019] [] suspend_devices_and_enter+0xbf/0x7d0 [ 26.712035] [] ? vprintk_default+0x1f/0x30 [ 26.712047] [] pm_suspend+0x3b9/0x4e0 [ 26.712059] [] state_store+0x80/0x100 [ 26.712074] [] kobj_attr_store+0xf/0x20 [ 26.712087] [] sysfs_kf_write+0x3a/0x50 [ 26.712098] [] kernfs_fop_write+0x127/0x180 [ 26.712112] [] vfs_write+0xb7/0x200 [ 26.712124] [] SyS_write+0x46/0xc0 [ 26.712140] [] ia32_do_call+0x13/0x13