PCI: return correct value when writing to the "reset" attribute
PATCH 1/1 PCI: return correct value when writing to the "reset" attribute
commit 447c5dd7338638f526e9bcf7dcf69b4da5835c7d
Author: Michal Schmidt <[email protected]> Date: Tue May 11 11:44:54 2010 +0200
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.
Applies without changes to all of 2.6.32,2.6.33,2.6.34
This bug is starting to bite userspace, it seems that the right thing to do is to fix the bug in stable kernels.
--- drivers/pci/pci-sysfs.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
drivers/pci/pci-sysfs.c +6 -1
@@ -939,7 +939,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);
Signature · 1 line
1.7.3.2.91.g446ac
Greg KH
AppliedQuoted 8 lines · Michael S. Tsirkin
commit
447c5dd7338638f526e9bcf7dcf69b4da5835c7dAuthor: Michal Schmidt <[email protected]> Date: Tue May 11 11:44:54 2010 +0200A 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.
Quoted 6 lines
Signed-off-by Michal Schmidt <[email protected]>Signed-off-by Jesse Barnes <[email protected]>Applies without changes to all of 2.6.32,2.6.33,2.6.34
Applied to .32 and .33 now, thanks.
greg k-h