From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9AB75C05027 for ; Mon, 23 Jan 2023 20:54:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231912AbjAWUyJ (ORCPT ); Mon, 23 Jan 2023 15:54:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231548AbjAWUyD (ORCPT ); Mon, 23 Jan 2023 15:54:03 -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 D8DEF83DE for ; Mon, 23 Jan 2023 12:54:01 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pD-0000Lk-Uh; Mon, 23 Jan 2023 21:53:56 +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 01/23] staging: r8188eu: we use a constant number of hw_xmit entries Date: Mon, 23 Jan 2023 21:53:20 +0100 Message-Id: <20230123205342.229589-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" struct xmit_priv contains a pointer to an array of struct hw_xmit entries. xmit_priv's (ill-named) hwxmit_entry component stores the size of this array, i.e. the number of hw_xmit entries that are used. The array size is constant, it's initialised to HWXMIT_ENTRY and never updated. Simplify the code accordingly. Remove hwxmit_entry, do not pass the array size as a function parameter and use HWXMIT_ENTRY in the code that handles the array. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 8 +++----- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 2 +- drivers/staging/r8188eu/include/rtw_xmit.h | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index c51f6eabef87..5f2426be6c11 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1375,7 +1375,7 @@ static struct xmit_frame *dequeue_one_xmitframe(struc= t xmit_priv *pxmitpriv, str return pxmitframe; } =20 -struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i, int entry) +struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i) { struct list_head *sta_plist, *sta_phead; struct hw_xmit *phwxmit; @@ -1397,7 +1397,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pri= v *pxmitpriv, struct hw_xmi =20 spin_lock_bh(&pxmitpriv->lock); =20 - for (i =3D 0; i < entry; i++) { + for (i =3D 0; i < HWXMIT_ENTRY; i++) { phwxmit =3D phwxmit_i + inx[i]; =20 sta_phead =3D get_list_head(phwxmit->sta_queue); @@ -1501,9 +1501,7 @@ int rtw_alloc_hwxmits(struct adapter *padapter) struct hw_xmit *hwxmits; struct xmit_priv *pxmitpriv =3D &padapter->xmitpriv; =20 - pxmitpriv->hwxmit_entry =3D HWXMIT_ENTRY; - - pxmitpriv->hwxmits =3D kcalloc(pxmitpriv->hwxmit_entry, sizeof(struct hw_= xmit), GFP_KERNEL); + pxmitpriv->hwxmits =3D kcalloc(HWXMIT_ENTRY, sizeof(struct hw_xmit), GFP_= KERNEL); if (!pxmitpriv->hwxmits) return -ENOMEM; =20 diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging= /r8188eu/hal/rtl8188eu_xmit.c index d1af76cc2091..e097fa14dc6e 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -398,7 +398,7 @@ bool rtl8188eu_xmitframe_complete(struct adapter *adapt= , struct xmit_priv *pxmit if (!pxmitbuf) return false; =20 - pxmitframe =3D rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits, pxmitpri= v->hwxmit_entry); + pxmitframe =3D rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits); if (!pxmitframe) { /* no more xmit frame, release xmit buffer */ rtw_free_xmitbuf(pxmitpriv, pxmitbuf); diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r= 8188eu/include/rtw_xmit.h index 883eacd98224..cc32167fb4dc 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -273,7 +273,6 @@ struct xmit_priv { u64 last_tx_bytes; u64 last_tx_pkts; struct hw_xmit *hwxmits; - u8 hwxmit_entry; u8 wmm_para_seq[4];/* sequence for wmm ac parameter strength * from large to small. it's value is 0->vo, * 1->vi, 2->be, 3->bk. */ @@ -324,7 +323,7 @@ struct tx_servq *rtw_get_sta_pending(struct adapter *pa= dapter, s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, - struct hw_xmit *phwxmit_i, int entry); + struct hw_xmit *phwxmit_i); =20 s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe); --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86E2DC25B50 for ; Mon, 23 Jan 2023 20:54:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231609AbjAWUyF (ORCPT ); Mon, 23 Jan 2023 15:54:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229514AbjAWUyC (ORCPT ); Mon, 23 Jan 2023 15:54:02 -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 D8CBD7DB5 for ; Mon, 23 Jan 2023 12:54:01 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pE-0000Lk-TD; Mon, 23 Jan 2023 21:53:56 +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 02/23] staging: r8188eu: pass struct adapter to usb_write Date: Mon, 23 Jan 2023 21:53:21 +0100 Message-Id: <20230123205342.229589-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The usb_write function takes a struct intf_hdl only to extract the struct adapter from it. We can pass struct adapter directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/usb_ops_linux.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/= r8188eu/hal/usb_ops_linux.c index d82abfcd91f3..9f008e61a6f2 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -49,9 +49,8 @@ static int usb_read(struct adapter *adapt, u16 value, voi= d *data, u8 size) return status; } =20 -static int usb_write(struct intf_hdl *intf, u16 value, void *data, u8 size) +static int usb_write(struct adapter *adapt, u16 value, void *data, u8 size) { - struct adapter *adapt =3D intf->padapter; struct dvobj_priv *dvobjpriv =3D adapter_to_dvobj(adapt); struct usb_device *udev =3D dvobjpriv->pusbdev; int status; @@ -131,48 +130,44 @@ int __must_check rtw_read32(struct adapter *adapter, = u32 addr, u32 *data) =20 int rtw_write8(struct adapter *adapter, u32 addr, u8 val) { - struct intf_hdl *intf =3D &adapter->intf; u16 value =3D addr & 0xffff; int ret; =20 - ret =3D usb_write(intf, value, &val, 1); + ret =3D usb_write(adapter, value, &val, 1); =20 return RTW_STATUS_CODE(ret); } =20 int rtw_write16(struct adapter *adapter, u32 addr, u16 val) { - struct intf_hdl *intf =3D &adapter->intf; u16 value =3D addr & 0xffff; __le16 data =3D cpu_to_le16(val); int ret; =20 - ret =3D usb_write(intf, value, &data, 2); + ret =3D usb_write(adapter, value, &data, 2); =20 return RTW_STATUS_CODE(ret); } =20 int rtw_write32(struct adapter *adapter, u32 addr, u32 val) { - struct intf_hdl *intf =3D &adapter->intf; u16 value =3D addr & 0xffff; __le32 data =3D cpu_to_le32(val); int ret; =20 - ret =3D usb_write(intf, value, &data, 4); + ret =3D usb_write(adapter, value, &data, 4); =20 return RTW_STATUS_CODE(ret); } =20 int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *data) { - struct intf_hdl *intf =3D &adapter->intf; u16 value =3D addr & 0xffff; =20 if (length > VENDOR_CMD_MAX_DATA_LEN) return -EINVAL; =20 - return usb_write(intf, value, data, length); + return usb_write(adapter, value, data, length); } =20 static void handle_txrpt_ccx_88e(struct adapter *adapter, u8 *buf) --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06805C38142 for ; Mon, 23 Jan 2023 20:54:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231963AbjAWUyM (ORCPT ); Mon, 23 Jan 2023 15:54:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231717AbjAWUyD (ORCPT ); Mon, 23 Jan 2023 15:54:03 -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 E755B11654 for ; Mon, 23 Jan 2023 12:54:02 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pF-0000Lk-NR; Mon, 23 Jan 2023 21:53:57 +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 03/23] staging: r8188eu: remove struct intf_hdl Date: Mon, 23 Jan 2023 21:53:22 +0100 Message-Id: <20230123205342.229589-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" There are no more users of struct intf_hdl in the r8188eu driver. We can now remove this struct. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/include/drv_types.h | 1 - drivers/staging/r8188eu/include/rtw_io.h | 6 ------ drivers/staging/r8188eu/os_dep/usb_intf.c | 6 ------ 3 files changed, 13 deletions(-) diff --git a/drivers/staging/r8188eu/include/drv_types.h b/drivers/staging/= r8188eu/include/drv_types.h index 614673902377..7b170eed66b3 100644 --- a/drivers/staging/r8188eu/include/drv_types.h +++ b/drivers/staging/r8188eu/include/drv_types.h @@ -152,7 +152,6 @@ struct adapter { struct mlme_ext_priv mlmeextpriv; struct cmd_priv cmdpriv; struct evt_priv evtpriv; - struct intf_hdl intf; struct xmit_priv xmitpriv; struct recv_priv recvpriv; struct sta_priv stapriv; diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r81= 88eu/include/rtw_io.h index 0d2aa432f88d..033ea7146861 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -17,12 +17,6 @@ #include =20 struct intf_priv; -struct intf_hdl; - -struct intf_hdl { - struct adapter *padapter; - struct dvobj_priv *pintf_dev; -}; =20 int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); diff --git a/drivers/staging/r8188eu/os_dep/usb_intf.c b/drivers/staging/r8= 188eu/os_dep/usb_intf.c index 1f70e5fee1b2..1f114b1fc4d5 100644 --- a/drivers/staging/r8188eu/os_dep/usb_intf.c +++ b/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -290,7 +290,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, s= truct usb_interface *pusb { struct adapter *padapter =3D NULL; struct net_device *pnetdev =3D NULL; - struct intf_hdl *pintf; int ret; =20 padapter =3D vzalloc(sizeof(*padapter)); @@ -317,11 +316,6 @@ static int rtw_usb_if1_init(struct dvobj_priv *dvobj, = struct usb_interface *pusb padapter->intf_start =3D &usb_intf_start; padapter->intf_stop =3D &usb_intf_stop; =20 - /* step init_io_priv */ - pintf =3D &padapter->intf; - pintf->padapter =3D padapter; - pintf->pintf_dev =3D adapter_to_dvobj(padapter); - /* step read_chip_version */ rtl8188e_read_chip_version(padapter); =20 --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 565DAC25B50 for ; Mon, 23 Jan 2023 20:54:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232086AbjAWUyQ (ORCPT ); Mon, 23 Jan 2023 15:54:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50930 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231733AbjAWUyE (ORCPT ); Mon, 23 Jan 2023 15:54:04 -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 97F627DB5 for ; Mon, 23 Jan 2023 12:54:03 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pG-0000Lk-Fx; Mon, 23 Jan 2023 21:53:58 +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 04/23] staging: r8188eu: remove struct intf_priv Date: Mon, 23 Jan 2023 21:53:23 +0100 Message-Id: <20230123205342.229589-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" struct intf_priv is not used in the r8188eu driver. It can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/include/osdep_intf.h | 32 -------------------- drivers/staging/r8188eu/include/rtw_io.h | 2 -- 2 files changed, 34 deletions(-) diff --git a/drivers/staging/r8188eu/include/osdep_intf.h b/drivers/staging= /r8188eu/include/osdep_intf.h index 6d66cb57225e..457fb3852a19 100644 --- a/drivers/staging/r8188eu/include/osdep_intf.h +++ b/drivers/staging/r8188eu/include/osdep_intf.h @@ -7,38 +7,6 @@ #include "osdep_service.h" #include "drv_types.h" =20 -struct intf_priv { - u8 *intf_dev; - u32 max_iosz; /* USB2.0: 128, USB1.1: 64, SDIO:64 */ - u32 max_xmitsz; /* USB2.0: unlimited, SDIO:512 */ - u32 max_recvsz; /* USB2.0: unlimited, SDIO:512 */ - - u8 *io_rwmem; - u8 *allocated_io_rwmem; - u32 io_wsz; /* unit: 4bytes */ - u32 io_rsz;/* unit: 4bytes */ - u8 intf_status; - - void (*_bus_io)(u8 *priv); - -/* -Under Sync. IRP (SDIO/USB) -A protection mechanism is necessary for the io_rwmem(read/write protocol) - -Under Async. IRP (SDIO/USB) -The protection mechanism is through the pending queue. -*/ - struct mutex ioctl_mutex; - /* when in USB, IO is through interrupt in/out endpoints */ - struct usb_device *udev; - struct urb *piorw_urb; - u8 io_irp_cnt; - u8 bio_irp_pending; - struct timer_list io_timer; - u8 bio_irp_timeout; - u8 bio_timer_cancel; -}; - int netdev_open(struct net_device *pnetdev); int netdev_close(struct net_device *pnetdev); =20 diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r81= 88eu/include/rtw_io.h index 033ea7146861..090555f562f2 100644 --- a/drivers/staging/r8188eu/include/rtw_io.h +++ b/drivers/staging/r8188eu/include/rtw_io.h @@ -16,8 +16,6 @@ #include #include =20 -struct intf_priv; - int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C25F4C25B50 for ; Mon, 23 Jan 2023 20:54:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232010AbjAWUyS (ORCPT ); Mon, 23 Jan 2023 15:54:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50960 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231652AbjAWUyF (ORCPT ); Mon, 23 Jan 2023 15:54:05 -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 3897C7DB5 for ; Mon, 23 Jan 2023 12:54:05 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pH-0000Lk-7J; Mon, 23 Jan 2023 21:53:59 +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 05/23] staging: r8188eu: simplify the sta loop in rtw_dequeue_xframe Date: Mon, 23 Jan 2023 21:53:24 +0100 Message-Id: <20230123205342.229589-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use list_for_each_entry_safe to iterate over the station entries in function rtw_dequeue_xframe instead of coding the loop manually. We have to use the safe version, the loop body may remove a station from the list over which we iterate. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 5f2426be6c11..b07a1ce21a38 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1377,9 +1377,9 @@ static struct xmit_frame *dequeue_one_xmitframe(struc= t xmit_priv *pxmitpriv, str =20 struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i) { - struct list_head *sta_plist, *sta_phead; + struct list_head *sta_phead; struct hw_xmit *phwxmit; - struct tx_servq *ptxservq =3D NULL; + struct tx_servq *ptxservq, *tmp_txservq; struct __queue *pframe_queue =3D NULL; struct xmit_frame *pxmitframe =3D NULL; struct adapter *padapter =3D pxmitpriv->adapter; @@ -1401,10 +1401,8 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pr= iv *pxmitpriv, struct hw_xmi phwxmit =3D phwxmit_i + inx[i]; =20 sta_phead =3D get_list_head(phwxmit->sta_queue); - sta_plist =3D sta_phead->next; =20 - while (sta_phead !=3D sta_plist) { - ptxservq =3D container_of(sta_plist, struct tx_servq, tx_pending); + list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { =20 pframe_queue =3D &ptxservq->sta_pending; =20 @@ -1418,8 +1416,6 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pri= v *pxmitpriv, struct hw_xmi list_del_init(&ptxservq->tx_pending); goto exit; } - - sta_plist =3D sta_plist->next; } } exit: --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5FD19C05027 for ; Mon, 23 Jan 2023 20:54:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232152AbjAWUyU (ORCPT ); Mon, 23 Jan 2023 15:54:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231819AbjAWUyG (ORCPT ); Mon, 23 Jan 2023 15:54:06 -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 C982C23D9F for ; Mon, 23 Jan 2023 12:54:05 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pI-0000Lk-13; Mon, 23 Jan 2023 21:54:00 +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 06/23] staging: r8188eu: simplify the code to initialise inx Date: Mon, 23 Jan 2023 21:53:25 +0100 Message-Id: <20230123205342.229589-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Simplify the code to initialise the inx array in function rtw_dequeue_xframe and make the code a tiny bit smaller. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index b07a1ce21a38..30bc9405356d 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1384,15 +1384,11 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_p= riv *pxmitpriv, struct hw_xmi struct xmit_frame *pxmitframe =3D NULL; struct adapter *padapter =3D pxmitpriv->adapter; struct registry_priv *pregpriv =3D &padapter->registrypriv; - int i, inx[4]; - - inx[0] =3D 0; inx[1] =3D 1; inx[2] =3D 2; inx[3] =3D 3; + int i, inx[] =3D { 0, 1, 2, 3 }; =20 if (pregpriv->wifi_spec =3D=3D 1) { - int j; - - for (j =3D 0; j < 4; j++) - inx[j] =3D pxmitpriv->wmm_para_seq[j]; + for (i =3D 0; i < ARRAY_SIZE(inx); i++) + inx[i] =3D pxmitpriv->wmm_para_seq[i]; } =20 spin_lock_bh(&pxmitpriv->lock); --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4128AC25B50 for ; Mon, 23 Jan 2023 20:54:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232204AbjAWUyY (ORCPT ); Mon, 23 Jan 2023 15:54:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51056 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231855AbjAWUyH (ORCPT ); Mon, 23 Jan 2023 15:54:07 -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 A0EEA3525A for ; Mon, 23 Jan 2023 12:54:06 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pI-0000Lk-Pl; Mon, 23 Jan 2023 21:54:00 +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 07/23] staging: r8188eu: remove an obsolete comment Date: Mon, 23 Jan 2023 21:53:26 +0100 Message-Id: <20230123205342.229589-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Remove an obsolete comment in rtw_dequeue_xframe. There is no break statement any more. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 30bc9405356d..a431bffbccf2 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1408,7 +1408,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pri= v *pxmitpriv, struct hw_xmi phwxmit->accnt--; =20 /* Remove sta node when there are no pending packets. */ - if (list_empty(&pframe_queue->queue)) /* must be done after get_next a= nd before break */ + if (list_empty(&pframe_queue->queue)) list_del_init(&ptxservq->tx_pending); goto exit; } --=20 2.30.2 From nobody Sun Sep 14 09:37:21 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C103C05027 for ; Mon, 23 Jan 2023 20:54:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232181AbjAWUyW (ORCPT ); Mon, 23 Jan 2023 15:54:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231848AbjAWUyH (ORCPT ); Mon, 23 Jan 2023 15:54:07 -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 8CFFF32E70 for ; Mon, 23 Jan 2023 12:54:06 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pJ-0000Lk-Il; Mon, 23 Jan 2023 21:54:01 +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 08/23] staging: r8188eu: remove unused function parameter Date: Mon, 23 Jan 2023 21:53:27 +0100 Message-Id: <20230123205342.229589-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The pxmitpriv parameter in function dequeue_one_xmitframe is not needed. It can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index a431bffbccf2..aefd32b98d08 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,7 +1355,7 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, s= truct xmit_frame *pxmitfram return _SUCCESS; } =20 -static struct xmit_frame *dequeue_one_xmitframe(struct xmit_priv *pxmitpri= v, struct tx_servq *ptxservq, struct __queue *pframe_queue) +static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq,= struct __queue *pframe_queue) { struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe =3D NULL; @@ -1402,7 +1402,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pri= v *pxmitpriv, struct hw_xmi =20 pframe_queue =3D &ptxservq->sta_pending; =20 - pxmitframe =3D dequeue_one_xmitframe(pxmitpriv, ptxservq, pframe_queue); + pxmitframe =3D dequeue_one_xmitframe(ptxservq, pframe_queue); =20 if (pxmitframe) { phwxmit->accnt--; --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95377C25B50 for ; Mon, 23 Jan 2023 20:54:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232209AbjAWUy1 (ORCPT ); Mon, 23 Jan 2023 15:54:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231803AbjAWUyI (ORCPT ); Mon, 23 Jan 2023 15:54:08 -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 857BE23D9F for ; Mon, 23 Jan 2023 12:54:07 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pK-0000Lk-C5; Mon, 23 Jan 2023 21:54:02 +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 09/23] staging: r8188eu: remove dead assignment Date: Mon, 23 Jan 2023 21:53:28 +0100 Message-Id: <20230123205342.229589-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" There's no point in moving xmitframe_plist to the next list element. xmitframe_plist is not used any more after this assignment. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index aefd32b98d08..943e7a56f7ce 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1365,11 +1365,7 @@ static struct xmit_frame *dequeue_one_xmitframe(stru= ct tx_servq *ptxservq, struc =20 if (xmitframe_phead !=3D xmitframe_plist) { pxmitframe =3D container_of(xmitframe_plist, struct xmit_frame, list); - - xmitframe_plist =3D xmitframe_plist->next; - list_del_init(&pxmitframe->list); - ptxservq->qcnt--; } return pxmitframe; --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD047C05027 for ; Mon, 23 Jan 2023 20:54:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232349AbjAWUyg (ORCPT ); Mon, 23 Jan 2023 15:54:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231915AbjAWUyP (ORCPT ); Mon, 23 Jan 2023 15:54:15 -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 ED1CC38026 for ; Mon, 23 Jan 2023 12:54:12 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pL-0000Lk-7w; Mon, 23 Jan 2023 21:54:03 +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 10/23] staging: r8188eu: use list_empty Date: Mon, 23 Jan 2023 21:53:29 +0100 Message-Id: <20230123205342.229589-11-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use list_empty to check for an empty list instead of coding the check manually. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 943e7a56f7ce..334d75214011 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1363,7 +1363,7 @@ static struct xmit_frame *dequeue_one_xmitframe(struc= t tx_servq *ptxservq, struc xmitframe_phead =3D get_list_head(pframe_queue); xmitframe_plist =3D xmitframe_phead->next; =20 - if (xmitframe_phead !=3D xmitframe_plist) { + if (!list_empty(xmitframe_phead)) { pxmitframe =3D container_of(xmitframe_plist, struct xmit_frame, list); list_del_init(&pxmitframe->list); ptxservq->qcnt--; --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04C97C05027 for ; Mon, 23 Jan 2023 20:54:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231548AbjAWUy3 (ORCPT ); Mon, 23 Jan 2023 15:54:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51176 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231795AbjAWUyN (ORCPT ); Mon, 23 Jan 2023 15:54:13 -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 EA6E525E38 for ; Mon, 23 Jan 2023 12:54:09 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pM-0000Lk-1E; Mon, 23 Jan 2023 21:54:04 +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 11/23] staging: r8188eu: simplify dequeue_one_xmitframe Date: Mon, 23 Jan 2023 21:53:30 +0100 Message-Id: <20230123205342.229589-12-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Revert the if condition and exit immediately if the list of xmitframes is empty. Hopefully, this makes the code a little bit simpler. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 334d75214011..96079d9a6c42 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1358,16 +1358,16 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter,= struct xmit_frame *pxmitfram static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq,= struct __queue *pframe_queue) { struct list_head *xmitframe_plist, *xmitframe_phead; - struct xmit_frame *pxmitframe =3D NULL; + struct xmit_frame *pxmitframe; =20 xmitframe_phead =3D get_list_head(pframe_queue); - xmitframe_plist =3D xmitframe_phead->next; + if (list_empty(xmitframe_phead)) + return NULL; =20 - if (!list_empty(xmitframe_phead)) { - pxmitframe =3D container_of(xmitframe_plist, struct xmit_frame, list); - list_del_init(&pxmitframe->list); - ptxservq->qcnt--; - } + xmitframe_plist =3D xmitframe_phead->next; + pxmitframe =3D container_of(xmitframe_plist, struct xmit_frame, list); + list_del_init(&pxmitframe->list); + ptxservq->qcnt--; return pxmitframe; } =20 --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E0DEC38142 for ; Mon, 23 Jan 2023 20:54:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232296AbjAWUyb (ORCPT ); Mon, 23 Jan 2023 15:54:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51444 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232016AbjAWUyO (ORCPT ); Mon, 23 Jan 2023 15:54:14 -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 A121732E64 for ; Mon, 23 Jan 2023 12:54:10 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pM-0000Lk-P5; Mon, 23 Jan 2023 21:54:04 +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 12/23] staging: r8188eu: remove redundant parameter Date: Mon, 23 Jan 2023 21:53:31 +0100 Message-Id: <20230123205342.229589-13-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The rtl8188eu_xmitframe_complete function takes two parameters: adapter and xmit_priv. xmit_priv is part of struct adapter, this parameter can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 3 ++- drivers/staging/r8188eu/hal/usb_ops_linux.c | 3 +-- drivers/staging/r8188eu/include/rtl8188e_xmit.h | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging= /r8188eu/hal/rtl8188eu_xmit.c index e097fa14dc6e..e067cc271686 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -365,8 +365,9 @@ static u32 xmitframe_need_length(struct xmit_frame *pxm= itframe) return len; } =20 -bool rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv = *pxmitpriv) +bool rtl8188eu_xmitframe_complete(struct adapter *adapt) { + struct xmit_priv *pxmitpriv =3D &adapt->xmitpriv; struct dvobj_priv *pdvobjpriv =3D adapter_to_dvobj(adapt); struct xmit_frame *pxmitframe =3D NULL; struct xmit_frame *pfirstframe =3D NULL; diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/= r8188eu/hal/usb_ops_linux.c index 9f008e61a6f2..e122c8ca929c 100644 --- a/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -463,7 +463,6 @@ u32 rtw_read_port(struct adapter *adapter, u8 *rmem) void rtl8188eu_xmit_tasklet(unsigned long priv) { struct adapter *adapt =3D (struct adapter *)priv; - struct xmit_priv *pxmitpriv =3D &adapt->xmitpriv; =20 if (check_fwstate(&adapt->mlmepriv, _FW_UNDER_SURVEY)) return; @@ -471,5 +470,5 @@ void rtl8188eu_xmit_tasklet(unsigned long priv) do { if (adapt->bDriverStopped || adapt->bSurpriseRemoved || adapt->bWritePor= tCancel) break; - } while (rtl8188eu_xmitframe_complete(adapt, pxmitpriv)); + } while (rtl8188eu_xmitframe_complete(adapt)); } diff --git a/drivers/staging/r8188eu/include/rtl8188e_xmit.h b/drivers/stag= ing/r8188eu/include/rtl8188e_xmit.h index e6d343ffc148..a023dd792da7 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_xmit.h +++ b/drivers/staging/r8188eu/include/rtl8188e_xmit.h @@ -125,7 +125,6 @@ s32 rtl8188eu_hal_xmit(struct adapter *padapter, struct= xmit_frame *frame); s32 rtl8188eu_mgnt_xmit(struct adapter *padapter, struct xmit_frame *frame= ); s32 rtl8188eu_xmit_buf_handler(struct adapter *padapter); void rtl8188eu_xmit_tasklet(unsigned long priv); -bool rtl8188eu_xmitframe_complete(struct adapter *padapter, - struct xmit_priv *pxmitpriv); +bool rtl8188eu_xmitframe_complete(struct adapter *padapter); =20 #endif /* __RTL8188E_XMIT_H__ */ --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA7F8C05027 for ; Mon, 23 Jan 2023 20:54:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232319AbjAWUyd (ORCPT ); Mon, 23 Jan 2023 15:54:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232029AbjAWUyO (ORCPT ); Mon, 23 Jan 2023 15:54:14 -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 AA8DE36085 for ; Mon, 23 Jan 2023 12:54:11 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pN-0000Lk-GG; Mon, 23 Jan 2023 21:54:05 +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 13/23] staging: r8188eu: make rtw_chk_hi_queue_cmd a void function Date: Mon, 23 Jan 2023 21:53:32 +0100 Message-Id: <20230123205342.229589-14-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Both callers of rtw_chk_hi_queue_cmd do not check the return value. Convert rtw_chk_hi_queue_cmd to a void function. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_cmd.c | 16 +++++----------- drivers/staging/r8188eu/include/rtw_cmd.h | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188= eu/core/rtw_cmd.c index eb79435da355..d57360a68fb3 100644 --- a/drivers/staging/r8188eu/core/rtw_cmd.c +++ b/drivers/staging/r8188eu/core/rtw_cmd.c @@ -1197,24 +1197,20 @@ static void rtw_chk_hi_queue_hdl(struct adapter *pa= dapter) } } =20 -u8 rtw_chk_hi_queue_cmd(struct adapter *padapter) +void rtw_chk_hi_queue_cmd(struct adapter *padapter) { struct cmd_obj *ph2c; struct drvextra_cmd_parm *pdrvextra_cmd_parm; struct cmd_priv *pcmdpriv =3D &padapter->cmdpriv; - u8 res =3D _SUCCESS; =20 ph2c =3D kzalloc(sizeof(*ph2c), GFP_ATOMIC); - if (!ph2c) { - res =3D _FAIL; - goto exit; - } + if (!ph2c) + return; =20 pdrvextra_cmd_parm =3D kzalloc(sizeof(*pdrvextra_cmd_parm), GFP_ATOMIC); if (!pdrvextra_cmd_parm) { kfree(ph2c); - res =3D _FAIL; - goto exit; + return; } =20 pdrvextra_cmd_parm->ec_id =3D CHECK_HIQ_WK_CID; @@ -1223,9 +1219,7 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter) =20 init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Dr= v_Extra)); =20 - res =3D rtw_enqueue_cmd(pcmdpriv, ph2c); -exit: - return res; + rtw_enqueue_cmd(pcmdpriv, ph2c); } =20 u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt) diff --git a/drivers/staging/r8188eu/include/rtw_cmd.h b/drivers/staging/r8= 188eu/include/rtw_cmd.h index 9df7d4bf441d..e8eecd52d1d8 100644 --- a/drivers/staging/r8188eu/include/rtw_cmd.h +++ b/drivers/staging/r8188eu/include/rtw_cmd.h @@ -743,7 +743,7 @@ u8 rtw_rpt_timer_cfg_cmd(struct adapter *padapter, u16 = minRptTime); u8 rtw_antenna_select_cmd(struct adapter *padapter, u8 antenna, u8 enqueue= ); u8 rtw_ps_cmd(struct adapter *padapter); =20 -u8 rtw_chk_hi_queue_cmd(struct adapter *padapter); +void rtw_chk_hi_queue_cmd(struct adapter *padapter); =20 u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan); =20 --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1A6FAC25B50 for ; Mon, 23 Jan 2023 20:54:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232242AbjAWUyp (ORCPT ); Mon, 23 Jan 2023 15:54:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232158AbjAWUyU (ORCPT ); Mon, 23 Jan 2023 15:54:20 -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 727B332E47 for ; Mon, 23 Jan 2023 12:54:13 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pO-0000Lk-80; Mon, 23 Jan 2023 21:54:06 +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 14/23] staging: r8188eu: decrement qcnt in rtw_dequeue_xframe Date: Mon, 23 Jan 2023 21:53:33 +0100 Message-Id: <20230123205342.229589-15-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" rtw_dequeue_xframe calls dequeue_one_xmitframe and passes a struct tx_servq. The only use for this parameter is to decrement its qcnt if an xmit_frame could be extracted. It makes more sense to remove the struct tx_servq parameter from dequeue_one_xmitframe and decrement qcnt in the calling function when dequeue_one_xmitframe returns success, i.e. when an xmit_frame was extracted. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 96079d9a6c42..7802a34ebcfd 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,7 +1355,7 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, s= truct xmit_frame *pxmitfram return _SUCCESS; } =20 -static struct xmit_frame *dequeue_one_xmitframe(struct tx_servq *ptxservq,= struct __queue *pframe_queue) +static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_que= ue) { struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe; @@ -1367,7 +1367,6 @@ static struct xmit_frame *dequeue_one_xmitframe(struc= t tx_servq *ptxservq, struc xmitframe_plist =3D xmitframe_phead->next; pxmitframe =3D container_of(xmitframe_plist, struct xmit_frame, list); list_del_init(&pxmitframe->list); - ptxservq->qcnt--; return pxmitframe; } =20 @@ -1398,10 +1397,11 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_p= riv *pxmitpriv, struct hw_xmi =20 pframe_queue =3D &ptxservq->sta_pending; =20 - pxmitframe =3D dequeue_one_xmitframe(ptxservq, pframe_queue); + pxmitframe =3D dequeue_one_xmitframe(pframe_queue); =20 if (pxmitframe) { phwxmit->accnt--; + ptxservq->qcnt--; =20 /* Remove sta node when there are no pending packets. */ if (list_empty(&pframe_queue->queue)) --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8AD3CC25B50 for ; Mon, 23 Jan 2023 20:54:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231565AbjAWUy6 (ORCPT ); Mon, 23 Jan 2023 15:54:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232159AbjAWUyU (ORCPT ); Mon, 23 Jan 2023 15:54:20 -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 E0A9837F00 for ; Mon, 23 Jan 2023 12:54:13 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pO-0000Lk-VQ; Mon, 23 Jan 2023 21:54:07 +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 15/23] staging: r8188eu: simplify dequeue_one_xmitframe Date: Mon, 23 Jan 2023 21:53:34 +0100 Message-Id: <20230123205342.229589-16-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Simplify the dequeue_one_xmitframe function without changing its behaviour. Drop the temporary variable xmitframe_plist. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 7802a34ebcfd..79a1999ca809 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1357,15 +1357,13 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter,= struct xmit_frame *pxmitfram =20 static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_que= ue) { - struct list_head *xmitframe_plist, *xmitframe_phead; + struct list_head *xmitframe_phead =3D get_list_head(pframe_queue); struct xmit_frame *pxmitframe; =20 - xmitframe_phead =3D get_list_head(pframe_queue); if (list_empty(xmitframe_phead)) return NULL; =20 - xmitframe_plist =3D xmitframe_phead->next; - pxmitframe =3D container_of(xmitframe_plist, struct xmit_frame, list); + pxmitframe =3D container_of(xmitframe_phead->next, struct xmit_frame, lis= t); list_del_init(&pxmitframe->list); return pxmitframe; } --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 02627C05027 for ; Mon, 23 Jan 2023 20:55:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232228AbjAWUzF (ORCPT ); Mon, 23 Jan 2023 15:55:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232238AbjAWUy2 (ORCPT ); Mon, 23 Jan 2023 15:54:28 -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 6D9F23801B for ; Mon, 23 Jan 2023 12:54:14 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pP-0000Lk-NC; Mon, 23 Jan 2023 21:54:07 +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 16/23] staging: r8188eu: use list_head for xmitframe list Date: Mon, 23 Jan 2023 21:53:35 +0100 Message-Id: <20230123205342.229589-17-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The r8188eu driver defines a struct __queue that contains a list_head and a spinlock. struct tx_servq describes a station for which we have pending tx packets. This struct contains a __queue for the pending packets (a __queue of struct xmit_frame entries). In this particular case, the queue's spinlock is not used, we need only the list_head. rtw_dequeue_xframe uses a local variable for such an xmit_frame queue. This patch replaces this variable with a list_head. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 79a1999ca809..6060a1832431 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,15 +1355,14 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter,= struct xmit_frame *pxmitfram return _SUCCESS; } =20 -static struct xmit_frame *dequeue_one_xmitframe(struct __queue *pframe_que= ue) +static struct xmit_frame *dequeue_one_xmitframe(struct list_head *xframe_l= ist) { - struct list_head *xmitframe_phead =3D get_list_head(pframe_queue); struct xmit_frame *pxmitframe; =20 - if (list_empty(xmitframe_phead)) + if (list_empty(xframe_list)) return NULL; =20 - pxmitframe =3D container_of(xmitframe_phead->next, struct xmit_frame, lis= t); + pxmitframe =3D container_of(xframe_list->next, struct xmit_frame, list); list_del_init(&pxmitframe->list); return pxmitframe; } @@ -1373,7 +1372,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pri= v *pxmitpriv, struct hw_xmi struct list_head *sta_phead; struct hw_xmit *phwxmit; struct tx_servq *ptxservq, *tmp_txservq; - struct __queue *pframe_queue =3D NULL; + struct list_head *xframe_list; struct xmit_frame *pxmitframe =3D NULL; struct adapter *padapter =3D pxmitpriv->adapter; struct registry_priv *pregpriv =3D &padapter->registrypriv; @@ -1393,16 +1392,15 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_p= riv *pxmitpriv, struct hw_xmi =20 list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { =20 - pframe_queue =3D &ptxservq->sta_pending; - - pxmitframe =3D dequeue_one_xmitframe(pframe_queue); + xframe_list =3D get_list_head(&ptxservq->sta_pending); + pxmitframe =3D dequeue_one_xmitframe(xframe_list); =20 if (pxmitframe) { phwxmit->accnt--; ptxservq->qcnt--; =20 /* Remove sta node when there are no pending packets. */ - if (list_empty(&pframe_queue->queue)) + if (list_empty(xframe_list)) list_del_init(&ptxservq->tx_pending); goto exit; } --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5700C05027 for ; Mon, 23 Jan 2023 20:55:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232135AbjAWUzC (ORCPT ); Mon, 23 Jan 2023 15:55:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232021AbjAWUyU (ORCPT ); Mon, 23 Jan 2023 15:54:20 -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 725AA2DE5C for ; Mon, 23 Jan 2023 12:54:13 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pQ-0000Lk-HU; Mon, 23 Jan 2023 21:54:08 +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 17/23] staging: r8188eu: merge dequeue_one_xmitframe into its caller Date: Mon, 23 Jan 2023 21:53:36 +0100 Message-Id: <20230123205342.229589-18-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" dequeue_one_xmitframe is a small function that is called only from rtw_dequeue_xframe. Merge the two functions. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 34 +++++++++---------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 6060a1832431..cb0d8346ac10 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1355,18 +1355,6 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, = struct xmit_frame *pxmitfram return _SUCCESS; } =20 -static struct xmit_frame *dequeue_one_xmitframe(struct list_head *xframe_l= ist) -{ - struct xmit_frame *pxmitframe; - - if (list_empty(xframe_list)) - return NULL; - - pxmitframe =3D container_of(xframe_list->next, struct xmit_frame, list); - list_del_init(&pxmitframe->list); - return pxmitframe; -} - struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i) { struct list_head *sta_phead; @@ -1391,19 +1379,21 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_p= riv *pxmitpriv, struct hw_xmi sta_phead =3D get_list_head(phwxmit->sta_queue); =20 list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { - xframe_list =3D get_list_head(&ptxservq->sta_pending); - pxmitframe =3D dequeue_one_xmitframe(xframe_list); + if (list_empty(xframe_list)) + continue; =20 - if (pxmitframe) { - phwxmit->accnt--; - ptxservq->qcnt--; + pxmitframe =3D container_of(xframe_list->next, struct xmit_frame, list); + list_del_init(&pxmitframe->list); =20 - /* Remove sta node when there are no pending packets. */ - if (list_empty(xframe_list)) - list_del_init(&ptxservq->tx_pending); - goto exit; - } + phwxmit->accnt--; + ptxservq->qcnt--; + + /* Remove sta node when there are no pending packets. */ + if (list_empty(xframe_list)) + list_del_init(&ptxservq->tx_pending); + + goto exit; } } exit: --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EEA8C25B50 for ; Mon, 23 Jan 2023 20:55:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232437AbjAWUzM (ORCPT ); Mon, 23 Jan 2023 15:55:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52720 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232088AbjAWUyi (ORCPT ); Mon, 23 Jan 2023 15:54:38 -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 4CB5A38650 for ; Mon, 23 Jan 2023 12:54:15 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pR-0000Lk-AX; Mon, 23 Jan 2023 21:54:09 +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 18/23] staging: r8188eu: use lists for hwxmits Date: Mon, 23 Jan 2023 21:53:37 +0100 Message-Id: <20230123205342.229589-19-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" struct hw_xmit's sta_list points to one of vo, vi, be or bk_pending in struct xmit_priv. All of these are defined as struct __queue, which is a list plus a spinlock. For these components, the spinlock is unused, we need only the list. This patch converts sta_list and vo, vi, be and bk_pending to struct list_head. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 32 ++++++++++------------ drivers/staging/r8188eu/include/rtw_xmit.h | 10 +++---- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index cb0d8346ac10..ef6d3a9bffea 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -76,10 +76,10 @@ int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, st= ruct adapter *padapter) =20 pxmitpriv->adapter =3D padapter; =20 - rtw_init_queue(&pxmitpriv->be_pending); - rtw_init_queue(&pxmitpriv->bk_pending); - rtw_init_queue(&pxmitpriv->vi_pending); - rtw_init_queue(&pxmitpriv->vo_pending); + INIT_LIST_HEAD(&pxmitpriv->be_pending); + INIT_LIST_HEAD(&pxmitpriv->bk_pending); + INIT_LIST_HEAD(&pxmitpriv->vi_pending); + INIT_LIST_HEAD(&pxmitpriv->vo_pending); =20 rtw_init_queue(&pxmitpriv->free_xmit_queue); =20 @@ -881,10 +881,10 @@ s32 rtw_txframes_pending(struct adapter *padapter) { struct xmit_priv *pxmitpriv =3D &padapter->xmitpriv; =20 - return (!list_empty(&pxmitpriv->be_pending.queue) || - !list_empty(&pxmitpriv->bk_pending.queue) || - !list_empty(&pxmitpriv->vi_pending.queue) || - !list_empty(&pxmitpriv->vo_pending.queue)); + return (!list_empty(&pxmitpriv->be_pending) || + !list_empty(&pxmitpriv->bk_pending) || + !list_empty(&pxmitpriv->vi_pending) || + !list_empty(&pxmitpriv->vo_pending)); } =20 s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, struct pkt_attri= b *pattrib) @@ -1357,7 +1357,6 @@ s32 rtw_xmitframe_enqueue(struct adapter *padapter, s= truct xmit_frame *pxmitfram =20 struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i) { - struct list_head *sta_phead; struct hw_xmit *phwxmit; struct tx_servq *ptxservq, *tmp_txservq; struct list_head *xframe_list; @@ -1375,10 +1374,7 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_pr= iv *pxmitpriv, struct hw_xmi =20 for (i =3D 0; i < HWXMIT_ENTRY; i++) { phwxmit =3D phwxmit_i + inx[i]; - - sta_phead =3D get_list_head(phwxmit->sta_queue); - - list_for_each_entry_safe(ptxservq, tmp_txservq, sta_phead, tx_pending) { + list_for_each_entry_safe(ptxservq, tmp_txservq, phwxmit->sta_list, tx_pe= nding) { xframe_list =3D get_list_head(&ptxservq->sta_pending); if (list_empty(xframe_list)) continue; @@ -1460,7 +1456,7 @@ s32 rtw_xmit_classifier(struct adapter *padapter, str= uct xmit_frame *pxmitframe) ptxservq =3D rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *= )(&ac_index)); =20 if (list_empty(&ptxservq->tx_pending)) - list_add_tail(&ptxservq->tx_pending, get_list_head(phwxmits[ac_index].st= a_queue)); + list_add_tail(&ptxservq->tx_pending, phwxmits[ac_index].sta_list); =20 list_add_tail(&pxmitframe->list, get_list_head(&ptxservq->sta_pending)); ptxservq->qcnt++; @@ -1481,10 +1477,10 @@ int rtw_alloc_hwxmits(struct adapter *padapter) =20 hwxmits =3D pxmitpriv->hwxmits; =20 - hwxmits[0].sta_queue =3D &pxmitpriv->vo_pending; - hwxmits[1].sta_queue =3D &pxmitpriv->vi_pending; - hwxmits[2].sta_queue =3D &pxmitpriv->be_pending; - hwxmits[3].sta_queue =3D &pxmitpriv->bk_pending; + hwxmits[0].sta_list =3D &pxmitpriv->vo_pending; + hwxmits[1].sta_list =3D &pxmitpriv->vi_pending; + hwxmits[2].sta_list =3D &pxmitpriv->be_pending; + hwxmits[3].sta_list =3D &pxmitpriv->bk_pending; =20 return 0; } diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r= 8188eu/include/rtw_xmit.h index cc32167fb4dc..30f8000120b2 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -97,7 +97,7 @@ union txdesc { }; =20 struct hw_xmit { - struct __queue *sta_queue; + struct list_head *sta_list; int accnt; }; =20 @@ -257,10 +257,10 @@ struct agg_pkt_info { =20 struct xmit_priv { spinlock_t lock; - struct __queue be_pending; - struct __queue bk_pending; - struct __queue vi_pending; - struct __queue vo_pending; + struct list_head be_pending; + struct list_head bk_pending; + struct list_head vi_pending; + struct list_head vo_pending; u8 *pallocated_frame_buf; u8 *pxmit_frame_buf; uint free_xmitframe_cnt; --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03B36C05027 for ; Mon, 23 Jan 2023 20:55:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232266AbjAWUzJ (ORCPT ); Mon, 23 Jan 2023 15:55:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232284AbjAWUy2 (ORCPT ); Mon, 23 Jan 2023 15:54:28 -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 2E12838648 for ; Mon, 23 Jan 2023 12:54:14 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pS-0000Lk-3s; Mon, 23 Jan 2023 21:54:10 +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 19/23] staging: r8188eu: fix rtw_xmitframe_enqueue error handling Date: Mon, 23 Jan 2023 21:53:38 +0100 Message-Id: <20230123205342.229589-20-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In function rtw_xmitframe_enqueue, we can simply relay the error code from rtw_xmit_classifier. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index ef6d3a9bffea..4f9defdbe257 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1347,12 +1347,7 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmi= tpriv, struct __queue *pfram =20 s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxm= itframe) { - if (rtw_xmit_classifier(padapter, pxmitframe) =3D=3D _FAIL) { -/* pxmitframe->pkt =3D NULL; */ - return _FAIL; - } - - return _SUCCESS; + return rtw_xmit_classifier(padapter, pxmitframe); } =20 struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i) --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 454ADC25B50 for ; Mon, 23 Jan 2023 20:58:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232383AbjAWU6C (ORCPT ); Mon, 23 Jan 2023 15:58:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232322AbjAWU5y (ORCPT ); Mon, 23 Jan 2023 15:57:54 -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 57D0538B4A for ; Mon, 23 Jan 2023 12:57:36 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pS-0000Lk-Rp; Mon, 23 Jan 2023 21:54:10 +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 20/23] staging: r8188eu: remove rtw_xmitframe_enqueue Date: Mon, 23 Jan 2023 21:53:39 +0100 Message-Id: <20230123205342.229589-21-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The rtw_xmitframe_enqueue function is only one line. We can remove it and call rtw_xmit_classifier directly. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 5 ----- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 2 +- drivers/staging/r8188eu/include/rtw_xmit.h | 2 -- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 4f9defdbe257..3752d4fddd11 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -1345,11 +1345,6 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmi= tpriv, struct __queue *pfram spin_unlock_bh(&pframequeue->lock); } =20 -s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxm= itframe) -{ - return rtw_xmit_classifier(padapter, pxmitframe); -} - struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct = hw_xmit *phwxmit_i) { struct hw_xmit *phwxmit; diff --git a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c b/drivers/staging= /r8188eu/hal/rtl8188eu_xmit.c index e067cc271686..18557738dbad 100644 --- a/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c +++ b/drivers/staging/r8188eu/hal/rtl8188eu_xmit.c @@ -596,7 +596,7 @@ static s32 pre_xmitframe(struct adapter *adapt, struct = xmit_frame *pxmitframe) return true; =20 enqueue: - res =3D rtw_xmitframe_enqueue(adapt, pxmitframe); + res =3D rtw_xmit_classifier(adapt, pxmitframe); spin_unlock_bh(&pxmitpriv->lock); =20 if (res !=3D _SUCCESS) { diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r= 8188eu/include/rtw_xmit.h index 30f8000120b2..4aa7833487c8 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -320,8 +320,6 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpr= iv, struct __queue *pframequeue); struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, int up, u8 *ac); -s32 rtw_xmitframe_enqueue(struct adapter *padapter, - struct xmit_frame *pxmitframe); struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv, struct hw_xmit *phwxmit_i); =20 --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8069DC05027 for ; Mon, 23 Jan 2023 20:59:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232881AbjAWU7I (ORCPT ); Mon, 23 Jan 2023 15:59:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59232 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232745AbjAWU6u (ORCPT ); Mon, 23 Jan 2023 15:58:50 -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 E02413802D for ; Mon, 23 Jan 2023 12:58:29 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pT-0000Lk-W6; Mon, 23 Jan 2023 21:54:12 +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 21/23] staging: r8188eu: struct agg_pkt_info is unused Date: Mon, 23 Jan 2023 21:53:40 +0100 Message-Id: <20230123205342.229589-22-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" struct agg_pkt_info is not used in the r8188eu driver. Remove it. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/include/rtw_xmit.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r= 8188eu/include/rtw_xmit.h index 4aa7833487c8..548d2cfb88ec 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -250,11 +250,6 @@ struct hw_txqueue { int ac_tag; }; =20 -struct agg_pkt_info { - u16 offset; - u16 pkt_len; -}; - struct xmit_priv { spinlock_t lock; struct list_head be_pending; --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ADB88C05027 for ; Mon, 23 Jan 2023 20:58:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232435AbjAWU62 (ORCPT ); Mon, 23 Jan 2023 15:58:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232315AbjAWU6Y (ORCPT ); Mon, 23 Jan 2023 15:58:24 -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 8FBB33864D for ; Mon, 23 Jan 2023 12:58:02 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pU-0000Lk-OM; Mon, 23 Jan 2023 21:54:12 +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 22/23] staging: r8188eu: apsd_setting is unused Date: Mon, 23 Jan 2023 21:53:41 +0100 Message-Id: <20230123205342.229589-23-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" apsd_setting in struct tx_servq is not used, it can be removed. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/include/rtw_xmit.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r= 8188eu/include/rtw_xmit.h index 548d2cfb88ec..33c3031de2c4 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -228,8 +228,6 @@ struct tx_servq { struct sta_xmit_priv { spinlock_t lock; int option; - int apsd_setting; /* When bit mask is on, the associated edca - * queue supports APSD. */ struct tx_servq be_q; /* priority =3D=3D 0,3 */ struct tx_servq bk_q; /* priority =3D=3D 1,2 */ struct tx_servq vi_q; /* priority =3D=3D 4,5 */ --=20 2.30.2 From nobody Sun Sep 14 09:37:22 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8016C25B50 for ; Mon, 23 Jan 2023 20:57:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232263AbjAWU5e (ORCPT ); Mon, 23 Jan 2023 15:57:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56222 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232127AbjAWU5a (ORCPT ); Mon, 23 Jan 2023 15:57:30 -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 D11333252B for ; Mon, 23 Jan 2023 12:57:18 -0800 (PST) Received: from ipservice-092-217-089-134.092.217.pools.vodafone-ip.de ([92.217.89.134] 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 1pK3pV-0000Lk-Kt; Mon, 23 Jan 2023 21:54:13 +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 23/23] staging: r8188eu: merge rtw_free_hwxmits into its only caller Date: Mon, 23 Jan 2023 21:53:42 +0100 Message-Id: <20230123205342.229589-24-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123205342.229589-1-martin@kaiser.cx> References: <20230123205342.229589-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" rtw_free_hwxmits is called only by _rtw_free_xmit_priv. We can merge the two functions and make the code a bit shorter. Signed-off-by: Martin Kaiser Tested-by: Philipp Hortmann # Edimax N150 --- drivers/staging/r8188eu/core/rtw_xmit.c | 11 +---------- drivers/staging/r8188eu/include/rtw_xmit.h | 1 - 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_xmit.c b/drivers/staging/r818= 8eu/core/rtw_xmit.c index 3752d4fddd11..f50e10f0d51f 100644 --- a/drivers/staging/r8188eu/core/rtw_xmit.c +++ b/drivers/staging/r8188eu/core/rtw_xmit.c @@ -281,7 +281,7 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv) =20 vfree(pxmitpriv->pallocated_xmit_extbuf); =20 - rtw_free_hwxmits(padapter); + kfree(pxmitpriv->hwxmits); =20 mutex_destroy(&pxmitpriv->ack_tx_mutex); } @@ -1475,15 +1475,6 @@ int rtw_alloc_hwxmits(struct adapter *padapter) return 0; } =20 -void rtw_free_hwxmits(struct adapter *padapter) -{ - struct hw_xmit *hwxmits; - struct xmit_priv *pxmitpriv =3D &padapter->xmitpriv; - - hwxmits =3D pxmitpriv->hwxmits; - kfree(hwxmits); -} - static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **psk= b) { struct sk_buff *skb =3D *pskb; diff --git a/drivers/staging/r8188eu/include/rtw_xmit.h b/drivers/staging/r= 8188eu/include/rtw_xmit.h index 33c3031de2c4..d8808e68f778 100644 --- a/drivers/staging/r8188eu/include/rtw_xmit.h +++ b/drivers/staging/r8188eu/include/rtw_xmit.h @@ -328,7 +328,6 @@ s32 rtw_txframes_sta_ac_pending(struct adapter *padapte= r, int _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padap= ter); void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv); int rtw_alloc_hwxmits(struct adapter *padapter); -void rtw_free_hwxmits(struct adapter *padapter); s32 rtw_xmit(struct adapter *padapter, struct sk_buff **pkt); =20 int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xm= it_frame *pxmitframe); --=20 2.30.2