lkml.org 
[lkml]   [2004]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [2.6 patch] net/hamachi.c: remove bogus inline at function prototype (fwd)
    On Thu, 29 Jul 2004, Adrian Bunk wrote:

    >
    > FYI:
    > The patch forwarded below is still required in 2.6.8-rc2-mm1.
    >
    >
    > ----- Forwarded message from Adrian Bunk <bunk@fs.tum.de> -----
    >
    > Date: Wed, 14 Jul 2004 23:52:56 +0200
    > From: Adrian Bunk <bunk@fs.tum.de>
    > To: jgarzik@pobox.com
    > Cc: linux-kernel@vger.kernel.org, linux-net@vger.kernel.org
    > Subject: [2.6 patch] net/hamachi.c: remove bogus inline at function prototype
    >
    > Trying to compile drivers/net/hamachi.c in 2.6.8-rc1-mm1 using gcc 3.4
    > results in the folloeing compile error:
    >
    > <-- snip -->
    >
    > ...
    > CC drivers/net/hamachi.o
    > drivers/net/hamachi.c: In function `hamachi_interrupt':
    > drivers/net/hamachi.c:562: sorry, unimplemented: inlining failed in call
    > to 'hamachi_rx': function body not available
    > drivers/net/hamachi.c:1402: sorry, unimplemented: called from here
    > make[2]: *** [drivers/net/hamachi.o] Error 1
    >
    > <-- snip -->
    >
    >
    > The inline at the prototype is bogus since the function itself is not
    > marked as inline.
    >
    >
    > Signed-off-by: Adrian Bunk <bunk@fs.tum.de>
    >
    > --- linux-2.6.7-mm6-full-gcc3.4/drivers/net/hamachi.c.old 2004-07-09 00:28:31.000000000 +0200
    > +++ linux-2.6.7-mm6-full-gcc3.4/drivers/net/hamachi.c 2004-07-09 00:30:18.000000000 +0200
    > @@ -559,7 +559,7 @@
    > static void hamachi_init_ring(struct net_device *dev);
    > static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev);
    > static irqreturn_t hamachi_interrupt(int irq, void *dev_instance, struct pt_regs *regs);
    > -static inline int hamachi_rx(struct net_device *dev);
    > +static int hamachi_rx(struct net_device *dev);
    > static inline int hamachi_tx(struct net_device *dev);
    > static void hamachi_error(struct net_device *dev, int intr_status);
    > static int hamachi_close(struct net_device *dev);
    >

    Wouldn't it make sense to also un-inline hamachi_tx? both the _rx and _tx
    functions are quite big - are they really suitable to be inlined?

    Here's a proposed patch against 2.6.8-rc2-mm1

    Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>

    diff -up linux-2.6.8-rc2-mm1-orig/drivers/net/hamachi.c linux-2.6.8-rc2-mm1/drivers/net/hamachi.c
    --- linux-2.6.8-rc2-mm1-orig/drivers/net/hamachi.c 2004-07-31 13:12:52.000000000 +0200
    +++ linux-2.6.8-rc2-mm1/drivers/net/hamachi.c 2004-08-01 13:18:43.000000000 +0200
    @@ -559,8 +559,8 @@ static void hamachi_tx_timeout(struct ne
    static void hamachi_init_ring(struct net_device *dev);
    static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev);
    static irqreturn_t hamachi_interrupt(int irq, void *dev_instance, struct pt_regs *regs);
    -static inline int hamachi_rx(struct net_device *dev);
    -static inline int hamachi_tx(struct net_device *dev);
    +static int hamachi_rx(struct net_device *dev);
    +static int hamachi_tx(struct net_device *dev);
    static void hamachi_error(struct net_device *dev, int intr_status);
    static int hamachi_close(struct net_device *dev);
    static struct net_device_stats *hamachi_get_stats(struct net_device *dev);
    @@ -998,7 +998,7 @@ static int hamachi_open(struct net_devic
    return 0;
    }

    -static inline int hamachi_tx(struct net_device *dev)
    +static int hamachi_tx(struct net_device *dev)
    {
    struct hamachi_private *hmp = dev->priv;


    /Jesper Juhl

    -
    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 14:04    [W:0.035 / U:29.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site