lkml.org 
[lkml]   [2006]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH 1/2] WorkStruct: Add assign_bits() to give an atomic-bitops safe assignment
    From
    Date
    On Fri, 2006-12-15 at 14:45 -0800, Linus Torvalds wrote:
    > This uses "atomic_long_t" for the workstruct "data" field, which shares
    > the per-cpu pointer and the workstruct flag bits in one field.

    This fixes drivers/connector/connector.c to cope...

    Signed-off-by: David Woodhouse <dwmw2@infradead.org>

    diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c
    index 5e7cd45..27f377b 100644
    --- a/drivers/connector/connector.c
    +++ b/drivers/connector/connector.c
    @@ -135,9 +135,8 @@ static int cn_call_callback(struct cn_msg *msg, void (*destruct_data)(void *), v
    spin_lock_bh(&dev->cbdev->queue_lock);
    list_for_each_entry(__cbq, &dev->cbdev->queue_list, callback_entry) {
    if (cn_cb_equal(&__cbq->id.id, &msg->id)) {
    - if (likely(!test_bit(WORK_STRUCT_PENDING,
    - &__cbq->work.work.management) &&
    - __cbq->data.ddata == NULL)) {
    + if (likely(!work_pending(&__cbq->work.work) &&
    + __cbq->data.ddata == NULL)) {
    __cbq->data.callback_priv = msg;

    __cbq->data.ddata = data;


    --
    dwmw2

    -
    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: 2006-12-18 09:59    [W:5.031 / U:1.308 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site