[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <773DB8A82AB6A046AE0195C68612A31901412124@sbs2003.acksys.local>
Date: Tue, 11 Dec 2012 10:59:03 +0100
From: "Cedric VONCKEN" <cedric.voncken@...sys.fr>
To: <netdev@...r.kernel.org>
Subject: Gianfar driver issue
Hi all,
I think he have an issue in Gianfar driver.
When the Netdev tx queue timeout occurred, the function
gfar_timeout(..) is called. This function calls indirectly the
gfar_init_mac(..) function.
In this function, the rctrl register is set to a default value.
If the Promiscuous is enable on the net dev ( flag IFF_PROMISC
is set), the gfar_init_function does not reactivate it.
The Promiscuous mode is used for example when the netdev is
bridged.
I apply this patch to fix it.
--- a/drivers/net/ethernet/freescale/gianfar.c. 2012-06-01
09:16:13.000000000 +0200
+++ b/drivers/net/ethernet/freescale/gianfar.c 2012-12-11
10:38:23.000000000 +0100
@@ -356,6 +356,11 @@
/* Configure the coalescing support */
gfar_configure_coalescing(priv, 0xFF, 0xFF);
+ if (ndev->flags & IFF_PROMISC) {
+ /* Set RCTRL to PROM */
+ rctrl |= RCTRL_PROM;
+ }
+
if (priv->rx_filer_enable) {
rctrl |= RCTRL_FILREN;
/* Program the RIR0 reg with the required distribution
*/
Cedric Voncken
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists