lkml.org 
[lkml]   [2007]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2] powerpc: don't enable cpu hotplug on mpic-based pseries
    Don't allow cpu hotplug on systems lacking XICS interrupt controller,
    since current code is hardcoded for it.


    Signed-off-by: Olof Johansson <olof@lixom.net>

    ---

    On Wed, Oct 10, 2007 at 10:18:26AM +1000, Stephen Rothwell wrote:

    > > + struct device_node *np;
    > > + const char *typep;
    > > +
    > > + for (np = NULL; (np = of_find_node_by_name(np,
    > > + "interrupt-controller"));) {
    > > + typep = of_get_property(np, "compatible", NULL);
    > > + if (strstr(typep, "open-pic")) {
    > > + printk(KERN_INFO "CPU Hotplug not supported on "
    > > + "systems using MPIC\n");
    >
    > You need an of_node_put(np) here.

    Grmbl, you're right.

    pseries_discover_pic() doesn't have one, that's where I took the above
    logic from. So we're obviously already leaking device node references.

    Still, no reason to make it worse.


    -Olof

    diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
    index 9711eb0..ae85fc0 100644
    --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
    +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
    @@ -252,6 +252,21 @@ static struct notifier_block pseries_smp_nb = {

    static int __init pseries_cpu_hotplug_init(void)
    {
    + struct device_node *np;
    + const char *typep;
    +
    + for (np = NULL; (np = of_find_node_by_name(np,
    + "interrupt-controller"));) {
    + typep = of_get_property(np, "compatible", NULL);
    + if (strstr(typep, "open-pic")) {
    + of_node_put(np);
    +
    + printk(KERN_INFO "CPU Hotplug not supported on "
    + "systems using MPIC\n");
    + return 0;
    + }
    + }
    +
    rtas_stop_self_args.token = rtas_token("stop-self");
    qcss_tok = rtas_token("query-cpu-stopped-state");

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-10-10 09:55    [W:0.023 / U:61.344 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site