diff mbox

PCI: check pci_vpd_pci22_wait() return

Message ID 1303053741-384-1-git-send-email-gthelen@google.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Greg Thelen April 17, 2011, 3:22 p.m. UTC
pci_vpd_pci22_write() calls pci_vpd_pci22_wait() after writing
PCI_VPD_DATA and PCI_VPD_ADDR to wait for the VPD operation to complete.
The result pci_vpd_pci22_wait() was not checked for error.

This change checks for error.

Signed-off-by: Greg Thelen <gthelen@google.com>
---
 drivers/pci/access.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Comments

Jesse Barnes April 20, 2011, 3:14 p.m. UTC | #1
On Sun, 17 Apr 2011 08:22:21 -0700
Greg Thelen <gthelen@google.com> wrote:

> pci_vpd_pci22_write() calls pci_vpd_pci22_wait() after writing
> PCI_VPD_DATA and PCI_VPD_ADDR to wait for the VPD operation to complete.
> The result pci_vpd_pci22_wait() was not checked for error.
> 
> This change checks for error.

Applied the two return value fixes to linux-next, thanks.
diff mbox

Patch

diff --git a/drivers/pci/access.c b/drivers/pci/access.c
index 502610b..fdaa42a 100644
--- a/drivers/pci/access.c
+++ b/drivers/pci/access.c
@@ -334,6 +334,8 @@  static ssize_t pci_vpd_pci22_write(struct pci_dev *dev, loff_t pos, size_t count
 		vpd->busy = true;
 		vpd->flag = 0;
 		ret = pci_vpd_pci22_wait(dev);
+		if (ret < 0)
+			break;
 
 		pos += sizeof(u32);
 	}