Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755849AbbLWDe7 (ORCPT ); Tue, 22 Dec 2015 22:34:59 -0500 Received: from rtits2.realtek.com ([60.250.210.242]:44395 "EHLO rtits2.realtek.com.tw" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755474AbbLWDeo (ORCPT ); Tue, 22 Dec 2015 22:34:44 -0500 Authenticated-By: X-SpamFilter-By: BOX Solutions SpamTrap 5.56 with qID tBN3UVkk032720, This message is accepted by code: ctloc85258 From: Hayes Wang To: Oliver Neukum CC: "linux-usb@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v2] r8152: fix lockup when runtime PM is enabled Thread-Topic: [PATCH v2] r8152: fix lockup when runtime PM is enabled Thread-Index: AQHRMaoYnf1SY6s5ykW+Hxk1Ou29D57BBqoA//+amICAFjEPMP//lG0AgAGXnjA= Date: Wed, 23 Dec 2015 03:31:59 +0000 Message-ID: <0835B3720019904CB8F7AA43166CEEB2F94FFF@RTITMBSV03.realtek.com.tw> References: <1449573462-28417-1-git-send-email-peter@lekensteyn.nl> <0835B3720019904CB8F7AA43166CEEB2F8DAD9@RTITMBSV03.realtek.com.tw> <20151208143305.GB18728@al> <0835B3720019904CB8F7AA43166CEEB2F94D11@RTITMBSV03.realtek.com.tw> <1450782082.8824.23.camel@suse.com> In-Reply-To: <1450782082.8824.23.camel@suse.com> Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.21.177.36] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id tBN3ZCck014293 Content-Length: 822 Lines: 24 Oliver Neukum [mailto:oneukum@suse.com] [...] > It is clear to me that you cannot get away with using the same operation > for resume() and reset_resume() in your driver. It is fundamentally > impossible. Firmware cannot fix it. I would think how to fix it. > Sorry for the length of the explanation. Thanks for your response. I have some questions. What are the flows when the system resume follows a system suspend which follows a autosuspend? Are they as following? 1. suspend() with PMSG_IS_AUTO for autosuspned. 2. suspend() for system suspend. 3. resume() for system resume. And, should the device exist autosuspend before (2)? Best Regards, Hayes ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?