lkml.org 
[lkml]   [2002]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Linux 2.5.14-dj2
    Hi Dave,

    I got the following compile error:

    <-- snip -->

    ...
    gcc -D__KERNEL__ -I/home/bunk/linux/kernel-2.5/linux-2.5.14-full/include
    -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
    -fno-common -pipe -mpreferred-stack-boundary=2 -march=k6 -nostdinc -I
    /usr/lib/gcc-lib/i386-linux/2.95.4/include -DKBUILD_BASENAME=irlmp -c -o
    irlmp.o irlmp.c
    irlmp.c:1302: redefinition of `irlmp_flow_indication'
    irlmp.c:1236: `irlmp_flow_indication' previously defined here
    {standard input}: Assembler messages:
    {standard input}:2987: Error: symbol `irlmp_flow_indication' is already
    defined
    make[3]: *** [irlmp.o] Error 1
    make[3]: Leaving directory
    `/home/bunk/linux/kernel-2.5/linux-2.5.14-full/net/irda'

    <-- snip -->

    It seems that the changes to irlmp.c were merged by Linus but not removed
    from the -dj patch. Unfortunately the context of this patch allows to
    apply it several times...


    The following patch needs to be removed from -dj:


    --- linux-2.5.14/net/irda/irlmp.c Mon May 6 04:38:05 2002
    +++ linux-2.5/net/irda/irlmp.c Fri May 3 12:57:32 2002
    @@ -1289,6 +1289,72 @@
    }

    /*
    + * Receive flow control indication from LAP.
    + * LAP want us to send it one more frame. We implement a simple round
    + * robin scheduler between the active sockets so that we get a bit of
    + * fairness. Note that the round robin is far from perfect, but it's
    + * better than nothing.
    + * We then poll the selected socket so that we can do synchronous
    + * refilling of IrLAP (which allow to minimise the number of buffers).
    + * Jean II
    + */
    +void irlmp_flow_indication(struct lap_cb *self, LOCAL_FLOW flow)
    +{
    + struct lsap_cb *next;
    + struct lsap_cb *curr;
    + int lsap_todo;
    +
    + ASSERT(self->magic == LMP_LAP_MAGIC, return;);
    + ASSERT(flow == FLOW_START, return;);
    +
    + /* Get the number of lsap. That's the only safe way to know
    + * that we have looped around... - Jean II */
    + lsap_todo = HASHBIN_GET_SIZE(self->lsaps);
    + IRDA_DEBUG(4, __FUNCTION__ "() : %d lsaps to scan\n", lsap_todo);
    +
    + /* Poll lsap in order until the queue is full or until we
    + * tried them all.
    + * Most often, the current LSAP will have something to send,
    + * so we will go through this loop only once. - Jean II */
    + while((lsap_todo--) &&
    + (IRLAP_GET_TX_QUEUE_LEN(self->irlap) < LAP_HIGH_THRESHOLD)) {
    + /* Try to find the next lsap we should poll. */
    + next = self->flow_next;
    + if(next != NULL) {
    + /* Note that if there is only one LSAP on the LAP
    + * (most common case), self->flow_next is always NULL,
    + * so we always avoid this loop. - Jean II */
    + IRDA_DEBUG(4, __FUNCTION__ "() : searching my LSAP\n");
    +
    + /* We look again in hashbins, because the lsap
    + * might have gone away... - Jean II */
    + curr = (struct lsap_cb *) hashbin_get_first(self->lsaps);
    + while((curr != NULL ) && (curr != next))
    + curr = (struct lsap_cb *) hashbin_get_next(self->lsaps);
    + } else
    + curr = NULL;
    +
    + /* If we have no lsap, restart from first one */
    + if(curr == NULL)
    + curr = (struct lsap_cb *) hashbin_get_first(self->lsaps);
    + /* Uh-oh... Paranoia */
    + if(curr == NULL)
    + break;
    +
    + /* Next time, we will get the next one (or the first one) */
    + self->flow_next = (struct lsap_cb *) hashbin_get_next(self->lsaps);
    + IRDA_DEBUG(4, __FUNCTION__ "() : curr is %p, next was %p and is now %p, still %d to go - queue len = %d\n", curr, next, self->flow_next, lsap_todo, IRLAP_GET_TX_QUEUE_LEN(self->irlap));
    +
    + /* Inform lsap user that it can send one more packet. */
    + if (curr->notify.flow_indication != NULL)
    + curr->notify.flow_indication(curr->notify.instance,
    + curr, flow);
    + else
    + IRDA_DEBUG(1, __FUNCTION__ "(), no handler\n");
    + }
    +}
    +
    +/*
    * Function irlmp_hint_to_service (hint)
    *
    * Returns a list of all servics contained in the given hint bits. This
    cu
    Adrian

    --

    You only think this is a free country. Like the US the UK spends a lot of
    time explaining its a free country because its a police state.
    Alan Cox

    -
    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: 2005-03-22 13:25    [W:0.026 / U:30.456 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site