Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp812563imm; Mon, 2 Jul 2018 23:55:11 -0700 (PDT) X-Google-Smtp-Source: AAOMgpd2O+jVeW90G8L3WCshUFonfmak+WvmOYJL+SFl7DSMby8vkRSQuZ+Vr2pXHfTw1s3oQ/XD X-Received: by 2002:a62:fb05:: with SMTP id x5-v6mr28542203pfm.210.1530600911667; Mon, 02 Jul 2018 23:55:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530600911; cv=none; d=google.com; s=arc-20160816; b=qOu+IOUv1r1imOAdlXvX/szui/EraKxCLjKKRvW/6uKQCH5RmVHcfTQTFtyBRk6Cs/ 9KoQHVlcWbCEEl/54EEk/yvngiM6Jv7THyr4W8SQJXcLmovaUcsc93EFzb8wt88drXx7 6sXMMgH04dN0/khvnm5PXRiHeBygMUewmfj2UwSfH7M1UVKCi6iCocj3mah0P3MCZXlV dwN2YUcZC+SJVvpmAifS9PRb0GCoXx1UHukG3yfEzOecjD33nrs6k/tF2It5FmSp0Dzz LCs6X+1/dOkIvOQUyzfSblQITOGjn7+3IqoAKRFE4XDL8woc4Nl5J92yOQYpOwv70qBd 2nrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=XDwYUnB9q6ZwmBTwn6+mxs9DFgEKQwJJSi/07xpomkE=; b=AuBVtD3TKIQVIimEpCrTW8euwMoNXaB92NmkdocBVJf+gK9eqKdTRZSduFIzEH1hgA JEOPrITzSo/RwPcil7pCxUZTwgMGFPioE9Kj/h81c9BDwRgJqtZzJt+77nbH0v3aX1ho 5xwfLWIg/rDlRoxzLpGt74VOtS13QdzQvgIjjh3pFfl4L4/phhloH7ACycIPt/XnvQ7W lQORV0MqiHId2cjAIBg9RyK2qJSPIIv7A8XyivW4qQp4FrRMBwQcv2pKZtOJZ2QwnS9o AUuyVjT+jbLXrrdHSW3KoNfRVKHbH0YAprgi8PkSC9lpLD6Lfqf/TIdiBxHJC0jXQDmV F5FQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=G4BmVso3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v16-v6si469666plo.186.2018.07.02.23.54.57; Mon, 02 Jul 2018 23:55:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=G4BmVso3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754290AbeGCGve (ORCPT + 99 others); Tue, 3 Jul 2018 02:51:34 -0400 Received: from mail-pl0-f66.google.com ([209.85.160.66]:43428 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752719AbeGCGva (ORCPT ); Tue, 3 Jul 2018 02:51:30 -0400 Received: by mail-pl0-f66.google.com with SMTP id c41-v6so539200plj.10; Mon, 02 Jul 2018 23:51:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=XDwYUnB9q6ZwmBTwn6+mxs9DFgEKQwJJSi/07xpomkE=; b=G4BmVso3MG+fPQWUfghlzUUnuZPlWVb7zU9qYrXImnuyIHnWHYIeEiiniEtPrJWURP LyxH7TVsERq1rEz08GfK3QidcxTgwaKOCsjUhaPgq+Gm4uEzGM/RQ88zTgxCBihjbCHi 4f2ljPBlEvl73VAu6xl4MfZWeegHrUUFoge2djVljorAbFLZ56VDnTEyAQN3jN+o35Fn /1A8sIrYG2kxI1pgIJIB3z7+vdOfOkzXiSEFNXjc0Akzdtxvqaap2PJ3SU4tQ9+JCtza mjMHMRIyFQPOkBB3Ei6AP271UuZ8No8F91O5Q2kbmqvuCNkU7h/qlkroM7IBTtMNuph6 +dfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=XDwYUnB9q6ZwmBTwn6+mxs9DFgEKQwJJSi/07xpomkE=; b=Y7NgJOR+SXb+1gtOUjwqd5p6rqThEyiA7xWQEbgtxZseByymQ0rxA9l6BZGHJWF3Te Qzg8O4EWxAw+Y1yIOeBtTQdH7IMjcvMNhSp02ATZ+3gWnM1vE0K600FwuHPLKHhquKV5 hILCcXPxCB77ejoTrTjc0mog1wJSGwcLiQ5K0pHWPDU8OCLMmzpXM4RMKV+4z29OfS+6 RAyKk0WdJ2P3qgJsD5pnzoS1d45iosPL7aNwZoLi5hNiMi4/4xhCswvhpwDX8DXlRRWy X8A2KoYgPOK6/tjS54Ag3cQNerTrE+U5bKz1y1EC7PDm/UWnWvogTgGNYXyf2NYvYpgn L5pA== X-Gm-Message-State: APt69E1+j3OrKzn2XW7uhDTWNFW4Hj7imVyWgjsBvb2phHQ/QBehnZ89 bG713VNy1zOToWmuu1CFy3VC X-Received: by 2002:a17:902:5a4f:: with SMTP id f15-v6mr21839212plm.253.1530600689998; Mon, 02 Jul 2018 23:51:29 -0700 (PDT) Received: from mylaptop.nay.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id e189-v6sm981122pfe.52.2018.07.02.23.51.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Jul 2018 23:51:29 -0700 (PDT) From: Pingfan Liu To: linux-kernel@vger.kernel.org Cc: Pingfan Liu , Greg Kroah-Hartman , "Rafael J . Wysocki" , Grygorii Strashko , Christoph Hellwig , Bjorn Helgaas , Dave Young , linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Subject: [PATCHv3 0/4] drivers/base: bugfix for supplier<-consumer ordering in device_kset Date: Tue, 3 Jul 2018 14:50:38 +0800 Message-Id: <1530600642-25090-1-git-send-email-kernelfans@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org commit 52cdbdd49853 ("driver core: correct device's shutdown order") places an assumption of supplier<-consumer order on the process of probe. But it turns out to break down the parent <- child order in some scene. E.g in pci, a bridge is enabled by pci core, and behind it, the devices have been probed. Then comes the bridge's module, which enables extra feature(such as hotplug) on this bridge. This will break the parent<-children order and cause failure when "kexec -e" in some scenario. v2 -> v3: It is a little hard to impose both "parent<-child" and "supplier<-consumer" on devices_kset. Hence v3 drops this method, postpones the issue to shutdown time instead of probing, and utilizes device-tree info during shutdown instead of the item's seq inside devices_kset. Pingfan Liu (4): drivers/base: fold the routine of device's shutdown into a func drivers/base: utilize device tree info to shutdown devices drivers/base: clean up the usage of devices_kset_move_last() Revert "driver core: correct device's shutdown order" drivers/base/base.h | 1 - drivers/base/core.c | 196 +++++++++++++++++++++++-------------------------- drivers/base/dd.c | 8 -- include/linux/device.h | 1 + 4 files changed, 92 insertions(+), 114 deletions(-) Cc: Greg Kroah-Hartman Cc: Rafael J. Wysocki Cc: Grygorii Strashko Cc: Christoph Hellwig Cc: Bjorn Helgaas Cc: Dave Young Cc: linux-pci@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org -- 2.7.4