Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc7feea3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Fix Oops with TQM5200 on TQM5200
  [POWERPC] mpc5200: Fix null dereference if bestcomm fails to initialize
  [POWERPC] mpc5200-fec: Fix possible NULL dereference in mdio driver
  [POWERPC] Fix crash in init_ipic_sysfs on efika
  [POWERPC] Don't use 64k pages for ioremap on pSeries
parents 6f58d795 7ea6fd7e
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -351,9 +351,14 @@ static void __init htab_init_page_sizes(void)
		mmu_vmalloc_psize = MMU_PAGE_64K;
		mmu_vmalloc_psize = MMU_PAGE_64K;
		if (mmu_linear_psize == MMU_PAGE_4K)
		if (mmu_linear_psize == MMU_PAGE_4K)
			mmu_linear_psize = MMU_PAGE_64K;
			mmu_linear_psize = MMU_PAGE_64K;
		if (cpu_has_feature(CPU_FTR_CI_LARGE_PAGE))
		if (cpu_has_feature(CPU_FTR_CI_LARGE_PAGE)) {
			/*
			 * Don't use 64k pages for ioremap on pSeries, since
			 * that would stop us accessing the HEA ethernet.
			 */
			if (!machine_is(pseries))
				mmu_io_psize = MMU_PAGE_64K;
				mmu_io_psize = MMU_PAGE_64K;
		else
		} else
			mmu_ci_restrictions = 1;
			mmu_ci_restrictions = 1;
	}
	}
#endif /* CONFIG_PPC_64K_PAGES */
#endif /* CONFIG_PPC_64K_PAGES */
+6 −2
Original line number Original line Diff line number Diff line
@@ -52,6 +52,10 @@ bcom_task_alloc(int bd_count, int bd_size, int priv_size)
	int i, tasknum = -1;
	int i, tasknum = -1;
	struct bcom_task *tsk;
	struct bcom_task *tsk;


	/* Don't try to do anything if bestcomm init failed */
	if (!bcom_eng)
		return NULL;

	/* Get and reserve a task num */
	/* Get and reserve a task num */
	spin_lock(&bcom_eng->lock);
	spin_lock(&bcom_eng->lock);


@@ -484,8 +488,8 @@ mpc52xx_bcom_remove(struct of_device *op)
}
}


static struct of_device_id mpc52xx_bcom_of_match[] = {
static struct of_device_id mpc52xx_bcom_of_match[] = {
	{ .type = "dma-controller", .compatible = "fsl,mpc5200-bestcomm", },
	{ .compatible = "fsl,mpc5200-bestcomm", },
	{ .type = "dma-controller", .compatible = "mpc5200-bestcomm", },
	{ .compatible = "mpc5200-bestcomm", },
	{},
	{},
};
};


+1 −1
Original line number Original line Diff line number Diff line
@@ -906,7 +906,7 @@ static int __init init_ipic_sysfs(void)
{
{
	int rc;
	int rc;


	if (!primary_ipic->regs)
	if (!primary_ipic || !primary_ipic->regs)
		return -ENODEV;
		return -ENODEV;
	printk(KERN_DEBUG "Registering ipic with sysfs...\n");
	printk(KERN_DEBUG "Registering ipic with sysfs...\n");


+2 −1
Original line number Original line Diff line number Diff line
@@ -109,6 +109,7 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of, const struct of_device_i
		int irq = irq_of_parse_and_map(child, 0);
		int irq = irq_of_parse_and_map(child, 0);
		if (irq != NO_IRQ) {
		if (irq != NO_IRQ) {
			const u32 *id = of_get_property(child, "reg", NULL);
			const u32 *id = of_get_property(child, "reg", NULL);
			if (id)
				bus->irq[*id] = irq;
				bus->irq[*id] = irq;
		}
		}
	}
	}