From: "Maciej W. Rozycki" <macro@linux-mips.org>
To: netdev@vger.kernel.org
Subject: [PATCH] defxx: Fix !DYNAMIC_BUFFERS compilation warnings
Date: Sun, 29 Jun 2014 02:09:19 +0100 (BST) [thread overview]
Message-ID: <alpine.LFD.2.11.1406290146390.15455@eddie.linux-mips.org> (raw)
This fixes compilation warnings:
drivers/net/fddi/defxx.c:294: warning: 'dfx_rcv_flush' declared inline after being called
drivers/net/fddi/defxx.c:294: warning: previous declaration of 'dfx_rcv_flush' was here
drivers/net/fddi/defxx.c:2854: warning: 'my_skb_align' defined but not used
triggered when the driver is built with DYNAMIC_BUFFERS undefined. Code
tested to work just fine with these changes and a few DEFPA and DEFTA
boards.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
---
Eventually I plan to discard !DYNAMIC_BUFFERS code, however the current
implementation of dynamic allocation suffers from a problem that causes it
to fail sometimes on a loaded system when the card is rebooted at run
time, a legitimate though infrequent event in the course of a ring fault
recovery process triggered by a PC Trace signal received. The driver does
it all in the hardirq handler, that I think is awful. This can be worked
around by undefining DYNAMIC_BUFFERS, in which case the same static
buffers will be reused after a card reboot.
I plan to rewrite this code by copying the approach I took with the defza
driver I posted recently, that handles the same scenario in a way that
does not suffer from this problem. I think it's only then that the static
allocation code can go.
So for the time being, please apply.
Maciej
linux-defxx-static-buffers-fixes.patch
Index: linux-20140623-4maxp64/drivers/net/fddi/defxx.c
===================================================================
--- linux-20140623-4maxp64.orig/drivers/net/fddi/defxx.c
+++ linux-20140623-4maxp64/drivers/net/fddi/defxx.c
@@ -291,7 +291,11 @@ static int dfx_hw_dma_uninit(DFX_board_
static int dfx_rcv_init(DFX_board_t *bp, int get_buffers);
static void dfx_rcv_queue_process(DFX_board_t *bp);
+#ifdef DYNAMIC_BUFFERS
static void dfx_rcv_flush(DFX_board_t *bp);
+#else
+static inline void dfx_rcv_flush(DFX_board_t *bp) {}
+#endif
static netdev_tx_t dfx_xmt_queue_pkt(struct sk_buff *skb,
struct net_device *dev);
@@ -2849,7 +2853,7 @@ static int dfx_hw_dma_uninit(DFX_board_t
* Align an sk_buff to a boundary power of 2
*
*/
-
+#ifdef DYNAMIC_BUFFERS
static void my_skb_align(struct sk_buff *skb, int n)
{
unsigned long x = (unsigned long)skb->data;
@@ -2859,7 +2863,7 @@ static void my_skb_align(struct sk_buff
skb_reserve(skb, v - x);
}
-
+#endif
/*
* ================
@@ -3450,10 +3454,6 @@ static void dfx_rcv_flush( DFX_board_t *
}
}
-#else
-static inline void dfx_rcv_flush( DFX_board_t *bp )
-{
-}
#endif /* DYNAMIC_BUFFERS */
/*
next reply other threads:[~2014-06-29 1:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-29 1:09 Maciej W. Rozycki [this message]
2014-07-03 1:26 ` [PATCH] defxx: Fix !DYNAMIC_BUFFERS compilation warnings David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.11.1406290146390.15455@eddie.linux-mips.org \
--to=macro@linux-mips.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).