PCI: ARI is a PCIe v2 feature
commit330091175005731845c82ae2b44ac72a93902a25
authorChris Wright <chrisw@sous-sol.org>
Wed, 13 Jul 2011 17:14:33 +0000 (13 10:14 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 8 Aug 2011 17:23:12 +0000 (8 10:23 -0700)
tree3e46b0589ac469f6bd5ca1008a9c1d08ab69731c
parent1b7fbaab701bfcc77916896bf64af9624c0b62d4
PCI: ARI is a PCIe v2 feature

commit 864d296cf948aef0fa32b81407541572583f7572 upstream.

The function pci_enable_ari() may mistakenly set the downstream port
of a v1 PCIe switch in ARI Forwarding mode.  This is a PCIe v2 feature,
and with an SR-IOV device on that switch port believing the switch above
is ARI capable it may attempt to use functions 8-255, translating into
invalid (non-zero) device numbers for that bus.  This has been seen
to cause Completion Timeouts and general misbehaviour including hangs
and panics.

Acked-by: Don Dutile <ddutile@redhat.com>
Tested-by: Don Dutile <ddutile@redhat.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/pci.c