Messages in this thread | | | Date | Tue, 11 May 2010 10:29:57 -0700 | From | Jesse Barnes <> | Subject | Re: [PATCH] PCI: return correct value when writing to the "reset" attribute |
| |
On Tue, 11 May 2010 11:44:54 +0200 Michal Schmidt <mschmidt@redhat.com> wrote:
> A successful write() to the "reset" sysfs attribute should return the > number of bytes written, not 0. Otherwise userspace (bash) retries the > write over and over again. > > Signed-off-by: Michal Schmidt <mschmidt@redhat.com> > --- > > drivers/pci/pci-sysfs.c | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c > index fad9398..ba88a2f 100644 > --- a/drivers/pci/pci-sysfs.c > +++ b/drivers/pci/pci-sysfs.c > @@ -960,7 +960,12 @@ static ssize_t reset_store(struct device *dev, > > if (val != 1) > return -EINVAL; > - return pci_reset_function(pdev); > + > + result = pci_reset_function(pdev); > + if (result < 0) > + return result; > + > + return count; > } > > static struct device_attribute reset_attr = __ATTR(reset, 0200, NULL, reset_store);
Applied to my linux-next branch, thanks. I think it's probably too late to get this into 2.6.34, but if it's affecting real users we can try; otherwise you could get it into the stable tree.
-- Jesse Barnes, Intel Open Source Technology Center
| |