[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1393236826-13059-1-git-send-email-claudiu.manoil@freescale.com>
Date: Mon, 24 Feb 2014 12:13:41 +0200
From: Claudiu Manoil <claudiu.manoil@...escale.com>
To: <netdev@...r.kernel.org>
CC: "David S. Miller" <davem@...emloft.net>,
Ben Hutchings <ben@...adent.org.uk>
Subject: [PATCH net-next v2 0/5] gianfar: Device reset and reconfig fixes
These patches end up fixing some notable device reset & reconfig
related problems. One issue is on-the-fly (Rx/Tx on) programming
of interrupt coalescing (IC) registers on the processing path,
against HW recommendation. This is an old issue that became visible
after BQL introduction, as under certain conditions (low traffic)
one TX interrupt gets lost and BQL fires Tx timeout as a result.
Another notable issue is a race on the Tx path (xmit, clean_tx)
during device reset (i.e. during Tx timeout watchdog firing)
that leads to NULL access.
Fixing the problematic on-thy-fly register writes (i.e. the IC regs)
required the implementation of a MAC soft reset procedure.
The race leading to NULL access was addressed by fixing the
stop_gfar()/startup_gfar() pair (disable/enable napi a.s.o.)
and adding the device state DOWN to sync with the TX path.
Thanks.
--
v2: Refactored if() clauses from gfar_set_features(), PATCH 2.
Claudiu Manoil (5):
gianfar: Implement MAC reset and reconfig procedure
gianfar: Fix on-the-fly vlan and mtu updates
gianfar: Don't free/request irqs on device reset
gianfar: Fix device reset races (oops) for Tx
gianfar: Fix Tx int miss, dont write IC on-the-fly
drivers/net/ethernet/freescale/gianfar.c | 599 ++++++++++-------------
drivers/net/ethernet/freescale/gianfar.h | 18 +-
drivers/net/ethernet/freescale/gianfar_ethtool.c | 105 ++--
3 files changed, 324 insertions(+), 398 deletions(-)
--
1.7.11.7
--
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