lkml.org 
[lkml]   [2012]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 128/187] hwspinlock/core: use global ID to register hwspinlocks on multiple devices
    Date
    From: Greg KH <gregkh@linuxfoundation.org>

    3.4-stable review patch. If anyone has any objections, please let me know.

    ------------------

    From: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>

    commit 476a7eeb60e70ddab138e7cb4bc44ef5ac20782e upstream.

    Commit 300bab9770 (hwspinlock/core: register a bank of hwspinlocks in a
    single API call, 2011-09-06) introduced 'hwspin_lock_register_single()'
    to register numerous (a bank of) hwspinlock instances in a single API,
    'hwspin_lock_register()'.

    At which time, 'hwspin_lock_register()' accidentally passes 'local IDs'
    to 'hwspin_lock_register_single()', despite that ..._single() requires
    'global IDs' to register hwspinlocks.

    We have to convert into global IDs by supplying the missing 'base_id'.

    Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
    [ohad: fix error path of hwspin_lock_register, too]
    Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/hwspinlock/hwspinlock_core.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/hwspinlock/hwspinlock_core.c
    +++ b/drivers/hwspinlock/hwspinlock_core.c
    @@ -345,7 +345,7 @@ int hwspin_lock_register(struct hwspinlo
    spin_lock_init(&hwlock->lock);
    hwlock->bank = bank;

    - ret = hwspin_lock_register_single(hwlock, i);
    + ret = hwspin_lock_register_single(hwlock, base_id + i);
    if (ret)
    goto reg_failed;
    }
    @@ -354,7 +354,7 @@ int hwspin_lock_register(struct hwspinlo

    reg_failed:
    while (--i >= 0)
    - hwspin_lock_unregister_single(i);
    + hwspin_lock_unregister_single(base_id + i);
    return ret;
    }
    EXPORT_SYMBOL_GPL(hwspin_lock_register);



    \
     
     \ /
      Last update: 2012-07-13 02:01    [W:4.120 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site