PCI: pcie, aer: init struct aer_err_info for reuse

In case of multiple errors, struct aer_err_info would be reused among
all reported devices.  So the info->status should be initialized before
recycled.  Otherwise error of one device might be reported as the error
of another device.  Also info->flags has similar problem on reporting
TLP header.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
Hidetoshi Seto 2009-09-07 17:09:58 +09:00 committed by Jesse Barnes
parent f158575696
commit 1b4ffcf843

View File

@ -708,6 +708,9 @@ static int get_device_error_info(struct pci_dev *dev, struct aer_err_info *info)
{
int pos;
info->status = 0;
info->flags &= ~AER_TLP_HEADER_VALID_FLAG;
pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR);
/* The device might not support AER */