summaryrefslogtreecommitdiffstats
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-08 19:57:51 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-08 19:57:51 +0200
commit19915e623458004547c1c2490b09bb923fe69337 (patch)
treeb794a81ddf083ed08a5bb32820c2dd0121ed74b2 /drivers/irqchip
parentMerge tag 'usb-serial-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentLinux 4.1-rc7 (diff)
downloadlinux-19915e623458004547c1c2490b09bb923fe69337.tar.xz
linux-19915e623458004547c1c2490b09bb923fe69337.zip
Merge 4.1-rc7 into usb-next
This resolves a merge issue in musb_core.c and we want the fixes that were in Linus's tree in this branch as well for testing. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-gic-v3-its.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 9687f8afebff..1b7e155869f6 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -828,7 +828,14 @@ static int its_alloc_tables(struct its_node *its)
u64 typer = readq_relaxed(its->base + GITS_TYPER);
u32 ids = GITS_TYPER_DEVBITS(typer);
- order = get_order((1UL << ids) * entry_size);
+ /*
+ * 'order' was initialized earlier to the default page
+ * granule of the the ITS. We can't have an allocation
+ * smaller than that. If the requested allocation
+ * is smaller, round up to the default page granule.
+ */
+ order = max(get_order((1UL << ids) * entry_size),
+ order);
if (order >= MAX_ORDER) {
order = MAX_ORDER - 1;
pr_warn("%s: Device Table too large, reduce its page order to %u\n",