From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755972AbZCHErA (ORCPT ); Sat, 7 Mar 2009 23:47:00 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755423AbZCHEqw (ORCPT ); Sat, 7 Mar 2009 23:46:52 -0500 Received: from g4t0014.houston.hp.com ([15.201.24.17]:29919 "EHLO g4t0014.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755391AbZCHEqv (ORCPT ); Sat, 7 Mar 2009 23:46:51 -0500 Date: Sat, 7 Mar 2009 21:46:49 -0700 From: Alex Chiang To: Jesse Barnes Cc: linux-pci , linux-kernel Subject: [PATCH] PCIe: portdrv: call pci_disable_device during remove Message-ID: <20090308044649.GC3575@ldl.fc.hp.com> Mail-Followup-To: Alex Chiang , Jesse Barnes , linux-pci , linux-kernel MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17+20080114 (2008-01-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The PCIe port driver calls pci_enable_device when registering ports, but never calls pci_disable_device during removal. Signed-off-by: Alex Chiang --- This patch is against jbarnes's linux-next branch. --- diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c index 5a5bfe7..e399825 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c @@ -473,6 +473,7 @@ void pcie_port_device_remove(struct pci_dev *dev) struct pcie_port_data *port_data = pci_get_drvdata(dev); device_for_each_child(&dev->dev, NULL, remove_iter); + pci_disable_device(dev); switch (port_data->port_irq_mode) { case PCIE_PORT_MSIX_MODE: