]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PCI: Prevent AER driver from being loaded on non-root port PCIE devices
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Wed, 7 Oct 2009 16:28:56 +0000 (09:28 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 8 Dec 2009 18:22:48 +0000 (10:22 -0800)
commit0823e602ad9d28d54fa6346289ff13ae84ad2c34
tree1291ef9e7b19140b35e9d35c788015762dda93fc
parent9509e37c579356f4e0c22f00eb7f2cb783a40c05
PCI: Prevent AER driver from being loaded on non-root port PCIE devices

commit 30fc24b5cbc55f9e6c686e2710cc812419bddc0c upstream.

A bug was seen on boards using a PLX 8518 switch device which advertises
AER on each of it's transparent bridges. The AER driver was loaded for
each bridge and this driver tried to access the AER source ID register
whenever an interrupt occured on the shared PCI INTX lines. The source
ID register does not exist on non root port PCIE device's  which
advertise AER and trying to access this register causes a unsupported
request error on the bridge. Thus, when the next interrupt occurs,
another error is found and the non existent source ID register is
accessed again, and so it goes on.

The result is a spammed dmesg with unsupported request PCI express
errors on the bridge device that the AER driver is loaded against.

Reported-by: Malcolm Crossley <malcolm.crossley2@gefanuc.com>
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Tested-by: Malcolm Crossley <malcolm.crossley2@gefanuc.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/pcie/aer/aerdrv.c