Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3797147pxj; Mon, 21 Jun 2021 06:52:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxu7EMYy/wpxsWc6t8VVdVik1JJxk/T372UBKVjQ4rSblg0CzXDvnecn11RHsmPhd+Iy7FA X-Received: by 2002:a92:c705:: with SMTP id a5mr1531920ilp.245.1624283562271; Mon, 21 Jun 2021 06:52:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624283562; cv=none; d=google.com; s=arc-20160816; b=XUb9r9L3OrdALe8GSK1BjubPN18GFd/x/BCcwJQr+kixMNv1mNOlv2j6wwsR+BD0SS 82VzidXAvs80tIAE+kBmdOrv561XYKkpr8PGRCXjVh3NgWo4LizlZO2m17wrFGkd96s6 fm0AuOCLpKxeFJBvcwWrRJrsenENkV8CsMaoxDZ3S2ezeM+FG7J45v9yexTY5BTuU2QF WE+fb0ieP0y4an6QueFfDaD1646bjEa97O4sWt52hhEMit2+kOX5JRTpbdDYh3fmR6O3 SSO23/l1qTwGeVlDiYFoGgA2j++N5YmBHasayLkJ9fhoy3mNIJqpZUFIAda+FayodUBy 8p2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yaqSHxaezIY9lDpJVOshFr2LKj7NNyUw2GLUsi5+kqc=; b=QpElzwXBAH0EKCMGhTLR8kaFDazfWkhX1f3A880WPO+W+En8aracBAgSQqbPiUTKtU uYn6uI1GEMzgYz/XiO1C1biwupwoKBZAn7/Bf1nlSBGlJS4KPL6qmSA8evl0oGMtyizP ZbL4yDHXvrm7EHggK6qGMctCKmHzyiBJ2rzRJjSPzXkVVR4Rbe69EgH4887BSIT8bJnl ZsBBDkVqepB76xZ1PXxNeo3qyMWeTq7jAUsze/8bVIiRdTW6roeKDfplIQDinEQUnCh5 DloSyF6+KhAAm4yfS7lVzV0NHiyNFbYjOWpVJTU2nm5h+0t9Ib52X6eY5oOO8CTOS0cQ 8cRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=c67stKUA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g20si21091441jat.74.2021.06.21.06.52.30; Mon, 21 Jun 2021 06:52:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=c67stKUA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230510AbhFUNyG (ORCPT + 99 others); Mon, 21 Jun 2021 09:54:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230291AbhFUNyC (ORCPT ); Mon, 21 Jun 2021 09:54:02 -0400 Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D32CFC061756; Mon, 21 Jun 2021 06:51:47 -0700 (PDT) Received: by mail-pj1-x1031.google.com with SMTP id g4so10048289pjk.0; Mon, 21 Jun 2021 06:51:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yaqSHxaezIY9lDpJVOshFr2LKj7NNyUw2GLUsi5+kqc=; b=c67stKUAr73vcfRW1Dd2usP+4E0y6ePTCHpOLdQlp/Cx8FYYa25vHEvzfEpX5JfkKQ 6mDeh28T+WcaFmAKSfL1vqEv4nKF3u50MmIu9eg22ZTAXr/JN0KlnEb8Sr9C2R5x5M37 igxpbDhfNQbqFNEtsvhjXMKcGMeNkl9HyDloVrL2BbPm9mkbVuCM7oFSWhwe2HI9g/bA B9nfyE5ZosqAn54w+Jpo7xvYxf18xkV66LXZcb857xg9sQNq5Do5rVsDW6o3eQi1w3z6 wbXVJddb7ZoeJ5RY7Lo5Z9dtkdHvMYfAXOMj79NzhhJwBa4PEfUDD8waK0vjc98ONIyx uFIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yaqSHxaezIY9lDpJVOshFr2LKj7NNyUw2GLUsi5+kqc=; b=lI/utQi+N0fD47qTTEA50534fDm4EeB7zIx4IfOlQyzn95WkXN5+hN/qceoYiuhX+Y 4LW2FWFRM4yeQWFcPqU42sbMIqh7nZP09AtHrrCru9zdkeMIO6iGXRjpyuFyfJXPlW+q /pna4Zl4TMiKPQ0+HR9Vre97IqzBvVzfbgLxEgceAsM78recGbr3geMpCFeBhgXHw+6Z LfrlvzDRSGnEMMtJNRMq2liLH+9BVGPRSTe62vOf5EyD1dNCg5N/4iRwgoFfQHg5j5Jl EpSNtxxemf3o9FRSOmTBRAUNr89vKxAqC6/UD6Xcy65E7j9nV5f+nfDR089mHXddwM/Z eO5A== X-Gm-Message-State: AOAM532fgFacWOVsxD3OfeXjOffKCB+GDxQYAtl1LrOKrNZHTGOuukBL O73JGLhAH1uQSRpBox/nPGY= X-Received: by 2002:a17:90a:4491:: with SMTP id t17mr24443671pjg.30.1624283507346; Mon, 21 Jun 2021 06:51:47 -0700 (PDT) Received: from localhost ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id u24sm16581779pfm.156.2021.06.21.06.51.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Jun 2021 06:51:46 -0700 (PDT) From: Coiby Xu To: linux-staging@lists.linux.dev Cc: netdev@vger.kernel.org, Benjamin Poirier , Shung-Hsi Yu , Manish Chopra , GR-Linux-NIC-Dev@marvell.com (supporter:QLOGIC QLGE 10Gb ETHERNET DRIVER), Greg Kroah-Hartman , linux-kernel@vger.kernel.org (open list) Subject: [RFC 16/19] staging: qlge: remove deadcode in qlge_build_rx_skb Date: Mon, 21 Jun 2021 21:48:59 +0800 Message-Id: <20210621134902.83587-17-coiby.xu@gmail.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210621134902.83587-1-coiby.xu@gmail.com> References: <20210621134902.83587-1-coiby.xu@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This part of code is for the case that "the headers and data are in a single large buffer". However, qlge_process_mac_split_rx_intr is for handling packets that packets underwent head splitting. In reality, with jumbo frame enabled, the part of code couldn't be reached regardless of the packet size when ping the NIC. Signed-off-by: Coiby Xu --- drivers/staging/qlge/TODO | 6 --- drivers/staging/qlge/qlge_main.c | 66 ++++++++------------------------ 2 files changed, 17 insertions(+), 55 deletions(-) diff --git a/drivers/staging/qlge/TODO b/drivers/staging/qlge/TODO index 4575f35114bf..0f96186ed77c 100644 --- a/drivers/staging/qlge/TODO +++ b/drivers/staging/qlge/TODO @@ -1,9 +1,3 @@ -* commit 7c734359d350 ("qlge: Size RX buffers based on MTU.", v2.6.33-rc1) - introduced dead code in the receive routines, which should be rewritten - anyways by the admission of the author himself, see the comment above - ql_build_rx_skb(). That function is now used exclusively to handle packets - that underwent header splitting but it still contains code to handle non - split cases. * the driver has a habit of using runtime checks where compile time checks are possible (ex. ql_free_rx_buffers(), ql_alloc_rx_buffers()) * remove duplicate and useless comments diff --git a/drivers/staging/qlge/qlge_main.c b/drivers/staging/qlge/qlge_main.c index 904dba7aaee5..e560006225ca 100644 --- a/drivers/staging/qlge/qlge_main.c +++ b/drivers/staging/qlge/qlge_main.c @@ -1741,55 +1741,23 @@ static struct sk_buff *qlge_build_rx_skb(struct qlge_adapter *qdev, sbq_desc->p.skb = NULL; } } else if (ib_mac_rsp->flags3 & IB_MAC_IOCB_RSP_DL) { - if (ib_mac_rsp->flags4 & IB_MAC_IOCB_RSP_HS) { - netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, - "Header in small, %d bytes in large. Chain large to small!\n", - length); - /* - * The data is in a single large buffer. We - * chain it to the header buffer's skb and let - * it rip. - */ - lbq_desc = qlge_get_curr_lchunk(qdev, rx_ring); - netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, - "Chaining page at offset = %d, for %d bytes to skb.\n", - lbq_desc->p.pg_chunk.offset, length); - skb_fill_page_desc(skb, 0, lbq_desc->p.pg_chunk.page, - lbq_desc->p.pg_chunk.offset, length); - skb->len += length; - skb->data_len += length; - skb->truesize += qdev->lbq_buf_size; - } else { - /* - * The headers and data are in a single large buffer. We - * copy it to a new skb and let it go. This can happen with - * jumbo mtu on a non-TCP/UDP frame. - */ - lbq_desc = qlge_get_curr_lchunk(qdev, rx_ring); - skb = napi_alloc_skb(&rx_ring->napi, QLGE_SMALL_BUFFER_SIZE); - if (!skb) { - netif_printk(qdev, probe, KERN_DEBUG, qdev->ndev, - "No skb available, drop the packet.\n"); - return NULL; - } - dma_unmap_page(&qdev->pdev->dev, lbq_desc->dma_addr, - qdev->lbq_buf_size, - DMA_FROM_DEVICE); - skb_reserve(skb, NET_IP_ALIGN); - netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, - "%d bytes of headers and data in large. Chain page to new skb and pull tail.\n", - length); - skb_fill_page_desc(skb, 0, lbq_desc->p.pg_chunk.page, - lbq_desc->p.pg_chunk.offset, - length); - skb->len += length; - skb->data_len += length; - skb->truesize += qdev->lbq_buf_size; - qlge_update_mac_hdr_len(qdev, ib_mac_rsp, - lbq_desc->p.pg_chunk.va, - &hlen); - __pskb_pull_tail(skb, hlen); - } + netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, + "Header in small, %d bytes in large. Chain large to small!\n", + length); + /* + * The data is in a single large buffer. We + * chain it to the header buffer's skb and let + * it rip. + */ + lbq_desc = qlge_get_curr_lchunk(qdev, rx_ring); + netif_printk(qdev, rx_status, KERN_DEBUG, qdev->ndev, + "Chaining page at offset = %d, for %d bytes to skb.\n", + lbq_desc->p.pg_chunk.offset, length); + skb_fill_page_desc(skb, 0, lbq_desc->p.pg_chunk.page, + lbq_desc->p.pg_chunk.offset, length); + skb->len += length; + skb->data_len += length; + skb->truesize += qdev->lbq_buf_size; } else { /* * The data is in a chain of large buffers -- 2.32.0