From patchwork Tue Oct 16 11:58:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yunsheng Lin X-Patchwork-Id: 984726 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=huawei.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42ZDMP0mnPz9sBj for ; Tue, 16 Oct 2018 22:57:37 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727086AbeJPTq7 (ORCPT ); Tue, 16 Oct 2018 15:46:59 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:48112 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727006AbeJPTq6 (ORCPT ); Tue, 16 Oct 2018 15:46:58 -0400 Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id A0C61C320FBA4; Tue, 16 Oct 2018 19:56:47 +0800 (CST) Received: from localhost.localdomain (10.67.212.75) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.399.0; Tue, 16 Oct 2018 19:56:41 +0800 From: Yunsheng Lin To: CC: , , , , , , , , , , Subject: [PATCH net-next 0/5] Some cleanup and bugfix for desc filling Date: Tue, 16 Oct 2018 19:58:47 +0800 Message-ID: <1539691132-158455-1-git-send-email-linyunsheng@huawei.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [10.67.212.75] X-CFilter-Loop: Reflected Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When retransmiting packets, skb_cow_head which is called in hns3_set_tso may clone a new header. And driver will clear the checksum of the header after doing DMA map, so HW will read the old header whose L3 checksum is not cleared and calculate a wrong L3 checksum. Also When sending a big fragment using multiple buffer descriptor, hns3 does one maping, but do multiple unmapping when tx is done, which may cause unmapping problem. This patchset does some cleanup before fixing the above problem. Fuyun Liang (3): net: hns3: add handling for big TX fragment net: hns3: rename hns_nic_dma_unmap net: hns3: fix for multiple unmapping DMA problem Peng Li (2): net: hns3: remove hns3_fill_desc_tso net: hns3: move DMA map into hns3_fill_desc drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 137 +++++++++++------------- drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 3 +- 2 files changed, 62 insertions(+), 78 deletions(-)