From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: Re: [RFC PATCH 2/2] net: macb: Disable TX checksum offloading on all Zynq Date: Mon, 4 Jun 2018 17:06:58 +0200 Message-ID: <2e8da660-36d9-7aa0-bf66-86644eaf715b@microchip.com> References: <1527284654-24835-1-git-send-email-jennifer.dahm@ni.com> <1527284654-24835-3-git-send-email-jennifer.dahm@ni.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: Nathan Sullivan To: Jennifer Dahm , , "David S . Miller" , Michal Simek , Harini Katakam Return-path: Received: from esa4.microchip.iphmx.com ([68.232.154.123]:21257 "EHLO esa4.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753794AbeFDPJJ (ORCPT ); Mon, 4 Jun 2018 11:09:09 -0400 In-Reply-To: <1527284654-24835-3-git-send-email-jennifer.dahm@ni.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 25/05/2018 at 23:44, Jennifer Dahm wrote: > The Zynq ethernet hardware has checksum offloading bugs that cause > small UDP packets (<= 2 bytes) to be sent with an incorrect checksum > (0xffff) and forwarded UDP packets to be re-checksummed, which is > illegal behavior. The best solution we have right now is to disable > hardware TX checksum offloading entirely. > > Signed-off-by: Jennifer Dahm Adding some xilinx people I know... > --- > drivers/net/ethernet/cadence/macb_main.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c > index a5d564b..e8cc68a 100644 > --- a/drivers/net/ethernet/cadence/macb_main.c > +++ b/drivers/net/ethernet/cadence/macb_main.c > @@ -3807,7 +3807,8 @@ static const struct macb_config zynqmp_config = { > }; > > static const struct macb_config zynq_config = { > - .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_NO_GIGABIT_HALF, > + .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_NO_GIGABIT_HALF > + | MACB_CAPS_DISABLE_TX_HW_CSUM, > .dma_burst_length = 16, > .clk_init = macb_clk_init, > .init = macb_init, > -- Nicolas Ferre