From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Subject: Re: [PATCH RFC] pci: expose function reset capability in sysfs Date: Mon, 27 Jul 2009 08:01:46 -0700 Message-ID: <20090727150146.GA19079@kroah.com> References: <20090726171139.GA22202@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: jbarnes@virtuousgeek.org, linux-pci@vger.kernel.org, kvm@vger.kernel.org To: "Michael S. Tsirkin" Return-path: Received: from kroah.org ([198.145.64.141]:46462 "EHLO coco.kroah.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751795AbZG0PCf (ORCPT ); Mon, 27 Jul 2009 11:02:35 -0400 Content-Disposition: inline In-Reply-To: <20090726171139.GA22202@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Sun, Jul 26, 2009 at 08:11:39PM +0300, Michael S. Tsirkin wrote: > Some devices allow an individual function to be reset without affecting > other functions in the same device: that's what pci_reset_function does. > For devices that have this support, expose reset attribite in sysfs. Please add the proper documentation to Documentation/ABI for any new sysfs file you create. > static int pci_create_capabilities_sysfs(struct pci_dev *dev) > { > int retval; > @@ -943,7 +965,21 @@ static int pci_create_capabilities_sysfs(struct pci_dev *dev) > /* Active State Power Management */ > pcie_aspm_create_sysfs_dev_files(dev); > > + if (!pci_probe_reset_function(dev)) { > + retval = device_create_file(&dev->dev, &reset_attr); > + if (retval) > + goto error; > + } So you only add the file if there is a reset function, which is fine, but later on: > @@ -1037,6 +1073,7 @@ static void pci_remove_capabilities_sysfs(struct pci_dev *dev) > } > > pcie_aspm_remove_sysfs_dev_files(dev); > + device_remove_file(&dev->dev, &reset_attr); You always remove the file, if it has been created or not. That could cause problems in the future, please only remove a file if you have actually added it to the sysfs tree. thanks, greg k-h