diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2019-01-18 14:08:59 +0000 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2019-01-18 14:35:38 +0000 |
commit | 8208d1708b88b412ca97f50a6d951242c88cbbac (patch) | |
tree | 3c0040c5daa79535e29bf09346b180336c620ec1 /include | |
parent | 8fa4e55bbfbfca3ad996517f679ab3648c03d8bb (diff) |
irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size
The way we allocate events works fine in most cases, except
when multiple PCI devices share an ITS-visible DevID, and that
one of them is trying to use MultiMSI allocation.
In that case, our allocation is not guaranteed to be zero-based
anymore, and we have to make sure we allocate it on a boundary
that is compatible with the PCI Multi-MSI constraints.
Fix this by allocating the full region upfront instead of iterating
over the number of MSIs. MSI-X are always allocated one by one,
so this shouldn't change anything on that front.
Fixes: b48ac83d6bbc2 ("irqchip: GICv3: ITS: MSI support")
Cc: stable@vger.kernel.org
Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions