提交 cc7feea3 编写于 作者: L Linus Torvalds

Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* '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
...@@ -351,9 +351,14 @@ static void __init htab_init_page_sizes(void) ...@@ -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)) {
mmu_io_psize = MMU_PAGE_64K; /*
else * 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;
} else
mmu_ci_restrictions = 1; mmu_ci_restrictions = 1;
} }
#endif /* CONFIG_PPC_64K_PAGES */ #endif /* CONFIG_PPC_64K_PAGES */
......
...@@ -52,6 +52,10 @@ bcom_task_alloc(int bd_count, int bd_size, int priv_size) ...@@ -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) ...@@ -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", },
{}, {},
}; };
......
...@@ -906,7 +906,7 @@ static int __init init_ipic_sysfs(void) ...@@ -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");
......
...@@ -109,7 +109,8 @@ static int mpc52xx_fec_mdio_probe(struct of_device *of, const struct of_device_i ...@@ -109,7 +109,8 @@ 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);
bus->irq[*id] = irq; if (id)
bus->irq[*id] = irq;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册