From patchwork Tue Feb 7 19:23:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Kaiser X-Patchwork-Id: 54054 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3035589wrn; Tue, 7 Feb 2023 11:29:55 -0800 (PST) X-Google-Smtp-Source: AK7set+v+rwoIUJ3iX8eP80S8TQ/x7bO91wvCs+dcnSE2GxOLgwbMufkc73yiLN7afW74284LnNd X-Received: by 2002:a62:2582:0:b0:593:b169:ae51 with SMTP id l124-20020a622582000000b00593b169ae51mr3474508pfl.32.1675798195314; Tue, 07 Feb 2023 11:29:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675798195; cv=none; d=google.com; s=arc-20160816; b=KwfrLUv2VIYZ0QznpMf6HFBVnW2uNDGqo+dYVUdLtzEm9chmx/kV/Osp2RQJvJQNHX dk4v5MmUnJcPvltTDbvecz+gQc122vjW81dBeam2uraXziUB4XUZdVbjgXSlyAE60Bca Yc6LmgqI2q3OyChfrUK2XVfNFdetFZgbriENLy6BYJoQfBK0/EoQLwKzkXGsek9zmGWQ cusi6pyYBPkh3yBwC2/sEDpy4LhgNlxElgJOYHRNtAQWv9f1yTj6nCfdaV7V1PjWi48C Vvs1hJgqeRPNWuShTaCBuE///a0mQc5snPuc8SPOluL9+NCjeyZSVdAXjIGp8vio+xlM GUgA== 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; bh=2iCIxiHFry5mp35JWHG9AGq22O17E0K3DnZT2SdbWhE=; b=yxTcGRKLwwLpsdPi9CJ2sCO6cZ+SQi3IEgDLQ18F3Fyx3xr6KBr3NeBqPha3YDt+mz pta991o9x3IVPLSQn0VVecA5UKt0Z4Lkk3OfxB5I/dv5Ehj1x/24oXFlo/yG+5QSeb3j Z9wnIbfu5VdE3l2H1/VHsWQFYWxQ4w+uN+SghS7KSHvSMiJVTou5mmNu5JJSmh/zJcaR Y85TvTew7VdCasN/eHZDE5Tj4lGwZ2/wPkTZCzcg5ijpPO9WI8N63BUo2MpIJWqQHEy6 LvmEKGE8hMbUYOVZQU+ts7mt4QaaLp1V3MLng4X8c2LGmXgAIt9AY2Sty54V33qKXDHU NxzA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 85-20020a621658000000b00599a67efc3csi12177590pfw.132.2023.02.07.11.29.42; Tue, 07 Feb 2023 11:29:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231636AbjBGTXg (ORCPT + 99 others); Tue, 7 Feb 2023 14:23:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60298 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231518AbjBGTXe (ORCPT ); Tue, 7 Feb 2023 14:23:34 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2029D37547 for ; Tue, 7 Feb 2023 11:23:34 -0800 (PST) Received: from dslb-178-004-202-208.178.004.pools.vodafone-ip.de ([178.4.202.208] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1pPTYu-0002XK-MJ; Tue, 07 Feb 2023 20:23:29 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , Pavel Skripkin , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 2/7] staging: r8188eu: simplify rtw_alloc_xmitframe Date: Tue, 7 Feb 2023 20:23:14 +0100 Message-Id: <20230207192319.294203-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230207192319.294203-1-martin@kaiser.cx> References: <20230207192319.294203-1-martin@kaiser.cx> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757201768531375014?= X-GMAIL-MSGID: =?utf-8?q?1757201768531375014?= Make the rtw_alloc_xmitframe function a bit simpler. The container_of() call never returns NULL. The if (pxframe) check is false only if pfree_xmit_queue is empty. Handle this special case explicitly and save one level of indentation. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/core/rtw_xmit.c | 40 +++++++++++-------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r8188eu/core/rtw_xmit.c index 4d6210d89533..6ec342b726f9 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1256,38 +1256,32 @@ struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv)/* _queue *pf spin_lock_bh(&pfree_xmit_queue->lock); - if (list_empty(&pfree_xmit_queue->queue)) { - pxframe = NULL; - } else { - phead = get_list_head(pfree_xmit_queue); - - plist = phead->next; + if (list_empty(&pfree_xmit_queue->queue)) + goto out; - pxframe = container_of(plist, struct xmit_frame, list); - - list_del_init(&pxframe->list); - } + phead = get_list_head(pfree_xmit_queue); + plist = phead->next; + pxframe = container_of(plist, struct xmit_frame, list); + list_del_init(&pxframe->list); - if (pxframe) { /* default value setting */ - pxmitpriv->free_xmitframe_cnt--; + pxmitpriv->free_xmitframe_cnt--; - pxframe->buf_addr = NULL; - pxframe->pxmitbuf = NULL; + pxframe->buf_addr = NULL; + pxframe->pxmitbuf = NULL; - memset(&pxframe->attrib, 0, sizeof(struct pkt_attrib)); - /* pxframe->attrib.psta = NULL; */ + memset(&pxframe->attrib, 0, sizeof(struct pkt_attrib)); + /* pxframe->attrib.psta = NULL; */ - pxframe->frame_tag = DATA_FRAMETAG; + pxframe->frame_tag = DATA_FRAMETAG; - pxframe->pkt = NULL; - pxframe->pkt_offset = 1;/* default use pkt_offset to fill tx desc */ + pxframe->pkt = NULL; + pxframe->pkt_offset = 1;/* default use pkt_offset to fill tx desc */ - pxframe->agg_num = 1; - pxframe->ack_report = 0; - } + pxframe->agg_num = 1; + pxframe->ack_report = 0; +out: spin_unlock_bh(&pfree_xmit_queue->lock); - return pxframe; }