We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e260818 commit 3ad2a5fCopy full SHA for 3ad2a5f
drivers/irqchip/irq-gic-v3-its.c
@@ -828,7 +828,14 @@ static int its_alloc_tables(struct its_node *its)
828
u64 typer = readq_relaxed(its->base + GITS_TYPER);
829
u32 ids = GITS_TYPER_DEVBITS(typer);
830
831
- order = get_order((1UL << ids) * entry_size);
+ /*
832
+ * 'order' was initialized earlier to the default page
833
+ * granule of the the ITS. We can't have an allocation
834
+ * smaller than that. If the requested allocation
835
+ * is smaller, round up to the default page granule.
836
+ */
837
+ order = max(get_order((1UL << ids) * entry_size),
838
+ order);
839
if (order >= MAX_ORDER) {
840
order = MAX_ORDER - 1;
841
pr_warn("%s: Device Table too large, reduce its page order to %u\n",
0 commit comments