From nobody Thu Dec 18 20:31:26 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 52363C04A6A for ; Sun, 13 Aug 2023 06:36:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230079AbjHMGg1 (ORCPT ); Sun, 13 Aug 2023 02:36:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49086 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229478AbjHMGg0 (ORCPT ); Sun, 13 Aug 2023 02:36:26 -0400 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B4A61713 for ; Sat, 12 Aug 2023 23:36:28 -0700 (PDT) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3174ca258bbso791600f8f.1 for ; Sat, 12 Aug 2023 23:36:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691908586; x=1692513386; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=netjrGKmmw8kg0Kci9erRykpBVdnyt6ZhsBgAx21OOk=; b=Z1gD/WtSxS4539MeusCmkflEnonmRzENWhSzUiT9Xt8nJSkPi3WenviaoTJQE1e0iI 3KN2NbVx5yCWov4UgF2VXwunkEB1Ry1B1M5owKHzuTdPEhYdQfApRhz6xaSWn0o1SNb6 jQDX4i71vOl5JHc+uN0x6FxXQGIlXeCE9EbSUQO0j4lsrLO3n0VyVBdRvIakknDRaltL 6L8mI8lbgfc2LtyMkusjQdy9FLw3C8AaCaM2JKXkXvcwnf70PISuPxN7ZjEsFJnQ9WPe GickHLOMSbRDjeRjylIVMA7vG0M21K0dExfScYHlWYPiF5V2cnV2dercPYU9FeHCnHcC GeDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691908586; x=1692513386; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=netjrGKmmw8kg0Kci9erRykpBVdnyt6ZhsBgAx21OOk=; b=OnRpVNXEOuT9EMyxJ6Aqju6PfRcXWoZrlz8+/E7xkjLY1/8PEsyQjFmUeWgaqi5S+N yAvEw9YTiXVllsbtk3rXEFChWdYwYDsv0aSEPmHQhkTjcT1/XvOJ05YTLX46dKktGo6m aBFKmMjcuGV4h/FRxknJ0FzBcy2i90CIrfQ2tchYjvlGL843B9XaDHFrl4Ba44TL1GQ4 0iTzUjeVh8L16NYhxJM1BousfFv53DR1OnMTHaLhFqvZ/OW0dqCs+PxU7O7AJTCY66KE rtkSLMWZmcXBQzcQOiNn4n7DFcKfvPEp9AwKxPLhLNqOeQtv1OpZyuD0Mu3+QVOQcXSx CCQA== X-Gm-Message-State: AOJu0YzEAkzAGO0/i26P4xuqYXNtbTxOd5mGeu5Ri4DRGJTAlrY5E9Q2 ixUVaD3hlr9zZe4M5xKu+0eQORNYvtM= X-Google-Smtp-Source: AGHT+IG1KWu4m6xREdTpep2vyxS+sTjFEF1yoJNYbW7Ip391TFHaj+rwJIZlLFa3t/wnLzvVBZBmsg== X-Received: by 2002:a05:600c:34cb:b0:3fe:4d2d:f79b with SMTP id d11-20020a05600c34cb00b003fe4d2df79bmr6128269wmq.4.1691908586242; Sat, 12 Aug 2023 23:36:26 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p579356c7.dip0.t-ipconnect.de. [87.147.86.199]) by smtp.gmail.com with ESMTPSA id z15-20020a05600c114f00b003fe2bea77ccsm10439161wmz.5.2023.08.12.23.36.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Aug 2023 23:36:25 -0700 (PDT) Date: Sun, 13 Aug 2023 08:36:23 +0200 From: Philipp Hortmann To: Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] staging: rtl8192e: Remove unsupported mode IW_MODE_MASTER Message-ID: <9cd4574e4cfe0a2d7afce03c9b868757e215a23c.1691908402.git.philipp.g.hortmann@gmail.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Tasklet irq_rx_tasklet is scheduled when hw is receiving frames. Function _rtl92e_irq_rx_tasklet() is then called which calls then _rtl92e_rx_normal(). In _rtl92e_rx_normal() all frames are processed by rtllib_rx(). When ieee->iw_mode is IW_MODE_MASTER the function returns 0. The calling function then calls: dev_kfree_skb_any() which clears the skb. So the driver clears all packets received in this mode. Remove dead code in mode IW_MODE_MASTER. Signed-off-by: Philipp Hortmann --- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 4 ---- drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 6 ++---- drivers/staging/rtl8192e/rtl819x_HTProc.c | 3 +-- drivers/staging/rtl8192e/rtl819x_TSProc.c | 14 ++------------ drivers/staging/rtl8192e/rtllib_rx.c | 4 +--- drivers/staging/rtl8192e/rtllib_softmac.c | 11 +---------- drivers/staging/rtl8192e/rtllib_softmac_wx.c | 9 ++------- drivers/staging/rtl8192e/rtllib_tx.c | 2 -- 8 files changed, 9 insertions(+), 44 deletions(-) diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/stagi= ng/rtl8192e/rtl8192e/r8192E_dev.c index 5bfd84b08dd9..58e90b7772ef 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c @@ -59,10 +59,6 @@ static void _rtl92e_update_msr(struct net_device *dev) if (priv->rtllib->link_state =3D=3D MAC80211_LINKED) msr |=3D MSR_LINK_ADHOC; break; - case IW_MODE_MASTER: - if (priv->rtllib->link_state =3D=3D MAC80211_LINKED) - msr |=3D MSR_LINK_MASTER; - break; default: break; } diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c b/drivers/staging/r= tl8192e/rtl8192e/rtl_ps.c index 1c49d5da68eb..598bfc0ff3d1 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c @@ -118,8 +118,7 @@ void rtl92e_ips_enter(struct net_device *dev) =20 rt_state =3D priv->rtllib->rf_power_state; if (rt_state =3D=3D rf_on && !psc->bSwRfProcessing && - (priv->rtllib->link_state !=3D MAC80211_LINKED) && - (priv->rtllib->iw_mode !=3D IW_MODE_MASTER)) { + (priv->rtllib->link_state !=3D MAC80211_LINKED)) { psc->eInactivePowerState =3D rf_off; _rtl92e_ps_update_rf_state(dev); } @@ -210,8 +209,7 @@ void rtl92e_leisure_ps_enter(struct net_device *dev) =20 if (!((priv->rtllib->iw_mode =3D=3D IW_MODE_INFRA) && (priv->rtllib->link_state =3D=3D MAC80211_LINKED)) - || (priv->rtllib->iw_mode =3D=3D IW_MODE_ADHOC) || - (priv->rtllib->iw_mode =3D=3D IW_MODE_MASTER)) + || (priv->rtllib->iw_mode =3D=3D IW_MODE_ADHOC)) return; =20 if (psc->bLeisurePs) { diff --git a/drivers/staging/rtl8192e/rtl819x_HTProc.c b/drivers/staging/rt= l8192e/rtl819x_HTProc.c index f9fa3f2bb728..f19feea46158 100644 --- a/drivers/staging/rtl8192e/rtl819x_HTProc.c +++ b/drivers/staging/rtl8192e/rtl819x_HTProc.c @@ -363,8 +363,7 @@ void HTConstructInfoElement(struct rtllib_device *ieee,= u8 *posHTInfo, } =20 memset(posHTInfo, 0, *len); - if ((ieee->iw_mode =3D=3D IW_MODE_ADHOC) || - (ieee->iw_mode =3D=3D IW_MODE_MASTER)) { + if (ieee->iw_mode =3D=3D IW_MODE_ADHOC) { pHTInfoEle->ControlChl =3D ieee->current_network.channel; pHTInfoEle->ExtChlOffset =3D ((!pHT->bRegBW40MHz) ? HT_EXTCHNL_OFFSET_NO_EXT : diff --git a/drivers/staging/rtl8192e/rtl819x_TSProc.c b/drivers/staging/rt= l8192e/rtl819x_TSProc.c index 24a8b9fc0168..419ff72f2ba7 100644 --- a/drivers/staging/rtl8192e/rtl819x_TSProc.c +++ b/drivers/staging/rtl8192e/rtl819x_TSProc.c @@ -182,15 +182,7 @@ static struct ts_common_info *SearchAdmitTRStream(stru= ct rtllib_device *ieee, struct list_head *psearch_list; struct ts_common_info *pRet =3D NULL; =20 - if (ieee->iw_mode =3D=3D IW_MODE_MASTER) { - if (TxRxSelect =3D=3D TX_DIR) { - search_dir[DIR_DOWN] =3D true; - search_dir[DIR_BI_DIR] =3D true; - } else { - search_dir[DIR_UP] =3D true; - search_dir[DIR_BI_DIR] =3D true; - } - } else if (ieee->iw_mode =3D=3D IW_MODE_ADHOC) { + if (ieee->iw_mode =3D=3D IW_MODE_ADHOC) { if (TxRxSelect =3D=3D TX_DIR) search_dir[DIR_UP] =3D true; else @@ -311,9 +303,7 @@ bool GetTs(struct rtllib_device *ieee, struct ts_common= _info **ppTS, (&ieee->Tx_TS_Admit_List) : (&ieee->Rx_TS_Admit_List); =20 - Dir =3D (ieee->iw_mode =3D=3D IW_MODE_MASTER) ? - ((TxRxSelect =3D=3D TX_DIR) ? DIR_DOWN : DIR_UP) : - ((TxRxSelect =3D=3D TX_DIR) ? DIR_UP : DIR_DOWN); + Dir =3D ((TxRxSelect =3D=3D TX_DIR) ? DIR_UP : DIR_DOWN); =20 if (!list_empty(pUnusedList)) { (*ppTS) =3D list_entry(pUnusedList->next, diff --git a/drivers/staging/rtl8192e/rtllib_rx.c b/drivers/staging/rtl8192= e/rtllib_rx.c index 8a4029f26835..b3f5ab33603e 100644 --- a/drivers/staging/rtl8192e/rtllib_rx.c +++ b/drivers/staging/rtl8192e/rtllib_rx.c @@ -1496,7 +1496,6 @@ int rtllib_rx(struct rtllib_device *ieee, struct sk_b= uff *skb, case IW_MODE_INFRA: ret =3D rtllib_rx_InfraAdhoc(ieee, skb, rx_stats); break; - case IW_MODE_MASTER: case IW_MODE_REPEAT: break; case IW_MODE_MONITOR: @@ -2682,8 +2681,7 @@ static void rtllib_rx_mgt(struct rtllib_device *ieee, netdev_dbg(ieee->dev, "received PROBE REQUEST (%d)\n", WLAN_FC_GET_STYPE(le16_to_cpu(header->frame_ctl))); if ((ieee->softmac_features & IEEE_SOFTMAC_PROBERS) && - ((ieee->iw_mode =3D=3D IW_MODE_ADHOC || - ieee->iw_mode =3D=3D IW_MODE_MASTER) && + (ieee->iw_mode =3D=3D IW_MODE_ADHOC && ieee->link_state =3D=3D MAC80211_LINKED)) rtllib_rx_probe_rq(ieee, skb); break; diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rt= l8192e/rtllib_softmac.c index 0e52b207942d..6fa1d6a9da28 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac.c +++ b/drivers/staging/rtl8192e/rtllib_softmac.c @@ -935,8 +935,7 @@ static struct sk_buff *rtllib_assoc_resp(struct rtllib_= device *ieee, u8 *dest) ether_addr_copy(assoc->header.addr1, dest); ether_addr_copy(assoc->header.addr3, ieee->dev->dev_addr); ether_addr_copy(assoc->header.addr2, ieee->dev->dev_addr); - assoc->capability =3D cpu_to_le16(ieee->iw_mode =3D=3D IW_MODE_MASTER ? - WLAN_CAPABILITY_ESS : WLAN_CAPABILITY_IBSS); + assoc->capability =3D cpu_to_le16(WLAN_CAPABILITY_IBSS); =20 assoc->capability |=3D cpu_to_le16(WLAN_CAPABILITY_SHORT_SLOT_TIME); =20 @@ -2248,8 +2247,6 @@ rtllib_rx_auth(struct rtllib_device *ieee, struct sk_= buff *skb, netdev_dbg(ieee->dev, "Received authentication response"); rtllib_rx_auth_resp(ieee, skb); - } else if (ieee->iw_mode =3D=3D IW_MODE_MASTER) { - rtllib_rx_auth_rq(ieee, skb); } } return 0; @@ -2309,9 +2306,6 @@ inline int rtllib_rx_frame_softmac(struct rtllib_devi= ce *ieee, break; case RTLLIB_STYPE_ASSOC_REQ: case RTLLIB_STYPE_REASSOC_REQ: - if ((ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE) && - ieee->iw_mode =3D=3D IW_MODE_MASTER) - rtllib_rx_assoc_rq(ieee, skb); break; case RTLLIB_STYPE_AUTH: rtllib_rx_auth(ieee, skb, rx_stats); @@ -2807,9 +2801,6 @@ void rtllib_start_protocol(struct rtllib_device *ieee) case IW_MODE_ADHOC: rtllib_start_ibss(ieee); break; - case IW_MODE_MASTER: - rtllib_start_master_bss(ieee); - break; case IW_MODE_MONITOR: rtllib_start_monitor_mode(ieee); break; diff --git a/drivers/staging/rtl8192e/rtllib_softmac_wx.c b/drivers/staging= /rtl8192e/rtllib_softmac_wx.c index aad91dad134c..0b690f0ffeef 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac_wx.c +++ b/drivers/staging/rtl8192e/rtllib_softmac_wx.c @@ -51,8 +51,7 @@ int rtllib_wx_set_freq(struct rtllib_device *ieee, struct= iw_request_info *a, ieee->current_network.channel =3D fwrq->m; ieee->set_chan(ieee->dev, ieee->current_network.channel); =20 - if (ieee->iw_mode =3D=3D IW_MODE_ADHOC || - ieee->iw_mode =3D=3D IW_MODE_MASTER) + if (ieee->iw_mode =3D=3D IW_MODE_ADHOC) if (ieee->link_state =3D=3D MAC80211_LINKED) { rtllib_stop_send_beacons(ieee); rtllib_start_send_beacons(ieee); @@ -125,10 +124,6 @@ int rtllib_wx_set_wap(struct rtllib_device *ieee, =20 mutex_lock(&ieee->wx_mutex); /* use ifconfig hw ether */ - if (ieee->iw_mode =3D=3D IW_MODE_MASTER) { - ret =3D -1; - goto out; - } =20 if (temp->sa_family !=3D ARPHRD_ETHER) { ret =3D -EINVAL; @@ -366,7 +361,7 @@ void rtllib_wx_sync_scan_wq(void *data) ieee->link_detect_info.NumRecvBcnInPeriod =3D 1; ieee->link_detect_info.NumRecvDataInPeriod =3D 1; } - if (ieee->iw_mode =3D=3D IW_MODE_ADHOC || ieee->iw_mode =3D=3D IW_MODE_MA= STER) + if (ieee->iw_mode =3D=3D IW_MODE_ADHOC) rtllib_start_send_beacons(ieee); =20 rtllib_wake_all_queues(ieee); diff --git a/drivers/staging/rtl8192e/rtllib_tx.c b/drivers/staging/rtl8192= e/rtllib_tx.c index 24fd40284420..4199aee930f0 100644 --- a/drivers/staging/rtl8192e/rtllib_tx.c +++ b/drivers/staging/rtl8192e/rtllib_tx.c @@ -463,8 +463,6 @@ static void rtllib_query_protectionmode(struct rtllib_d= evice *ieee, } if (ieee->current_network.capability & WLAN_CAPABILITY_SHORT_PREAMBLE) tcb_desc->bUseShortPreamble =3D true; - if (ieee->iw_mode =3D=3D IW_MODE_MASTER) - goto NO_PROTECTION; return; NO_PROTECTION: tcb_desc->bRTSEnable =3D false; --=20 2.41.0 From nobody Thu Dec 18 20:31:26 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 40C1BC41513 for ; Sun, 13 Aug 2023 06:36:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230089AbjHMGgi (ORCPT ); Sun, 13 Aug 2023 02:36:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230025AbjHMGgg (ORCPT ); Sun, 13 Aug 2023 02:36:36 -0400 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36C30171B for ; Sat, 12 Aug 2023 23:36:36 -0700 (PDT) Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3174ca258bbso791616f8f.1 for ; Sat, 12 Aug 2023 23:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691908595; x=1692513395; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=MEucnOEc//2p9zCFWAC3bUVO8s5v2C6AE63j8gZoug8=; b=LBgaooLHmTol65H2wN0N/TIyDsVQl/HS6t9QTIaNXrxnzC8vimbWlyGxZxc9XfmEJG 4+VsQ+l9mhr6xJ6VULr64AJ/7wGzfr3U4P17+yCCQPKkD4mCo6TwQEDk/ZqqcaFz2HvH eKfznCg752BzohwTluy+eyfYUtJH1f5IOLtYU0PTbrj+oksqEnxxma2h0JR880oOlq4d f8xw3i2llylcDKCGgpAuUjiLSZXfjWSxQ3TXfNHXfK/Yvp12a7BBmAIpRt2p3Bb8GiaC rK/S9uGsAxD+XvrDal2rHugcktGDMdhEgUiQCC0oPgqLAS/k+N5pxywkRc/lc5P07tTD KT8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691908595; x=1692513395; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MEucnOEc//2p9zCFWAC3bUVO8s5v2C6AE63j8gZoug8=; b=lEaGwVifVSl6GKf8lyOW/Wa0h+zg27A8yKaF6nkVUv6bn1aplAHj8O7xD9O9rUGi2n YKCyjTMQT008hURbPVZ66e1q8ZKZiWp9Bvb/2X8YwGewStMCXqkr8laAmPM2wjASKR6L ohDUEdb8WeUCFsjPfa4ta9uo4ABgXbtU87u72JLBsrR8U1gLmzjyGK0eLSEuduMcZkgl xcQEK3VFvYZJaFkZwi7LU3iKG28uc0wiaNVyKZ8wnW0Fc2FyC9+NCQtOY2t4q5ZA0ja5 AmFg0eFncIkuBAEcJQw2Pzxw+kkgk089h8qwenix9kGRxTpltQKshYcTEEf9XGi5V0oN BVlA== X-Gm-Message-State: AOJu0YwxsHCcuXho5/rZdHF/BYbRhssw9s5RRsOwJdaEt6IRKujKm66u nhxchOyI0iRRCNIEJx93in54osAmf2E= X-Google-Smtp-Source: AGHT+IG6l3/sviJacSMDxUc4tZaBZceLkQDyBNoczIKXVS6CMvz6jHbRdVrcmxBL04uV/9ijk1I1+w== X-Received: by 2002:a05:600c:1c22:b0:3fa:97b1:b12d with SMTP id j34-20020a05600c1c2200b003fa97b1b12dmr6133540wms.2.1691908595068; Sat, 12 Aug 2023 23:36:35 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p579356c7.dip0.t-ipconnect.de. [87.147.86.199]) by smtp.gmail.com with ESMTPSA id k1-20020a05600c0b4100b003fbb5506e54sm10356755wmr.29.2023.08.12.23.36.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Aug 2023 23:36:34 -0700 (PDT) Date: Sun, 13 Aug 2023 08:36:32 +0200 From: Philipp Hortmann To: Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] staging: rtl8192e: Remove unused function rtllib_start_master_bss() Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove unused functions rtllib_start_master_bss(), rtllib_rx_assoc_rq() and rtllib_rx_auth_rq() and resulting unused functions. Signed-off-by: Philipp Hortmann --- drivers/staging/rtl8192e/rtllib_softmac.c | 180 ---------------------- 1 file changed, 180 deletions(-) diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rt= l8192e/rtllib_softmac.c index 6fa1d6a9da28..de1702491191 100644 --- a/drivers/staging/rtl8192e/rtllib_softmac.c +++ b/drivers/staging/rtl8192e/rtllib_softmac.c @@ -909,85 +909,6 @@ static struct sk_buff *rtllib_probe_resp(struct rtllib= _device *ieee, return skb; } =20 -static struct sk_buff *rtllib_assoc_resp(struct rtllib_device *ieee, u8 *d= est) -{ - struct sk_buff *skb; - u8 *tag; - - struct lib80211_crypt_data *crypt; - struct rtllib_assoc_response_frame *assoc; - short encrypt; - - unsigned int rate_len =3D rtllib_MFIE_rate_len(ieee); - int len =3D sizeof(struct rtllib_assoc_response_frame) + rate_len + - ieee->tx_headroom; - - skb =3D dev_alloc_skb(len); - - if (!skb) - return NULL; - - skb_reserve(skb, ieee->tx_headroom); - - assoc =3D skb_put(skb, sizeof(struct rtllib_assoc_response_frame)); - - assoc->header.frame_ctl =3D cpu_to_le16(RTLLIB_STYPE_ASSOC_RESP); - ether_addr_copy(assoc->header.addr1, dest); - ether_addr_copy(assoc->header.addr3, ieee->dev->dev_addr); - ether_addr_copy(assoc->header.addr2, ieee->dev->dev_addr); - assoc->capability =3D cpu_to_le16(WLAN_CAPABILITY_IBSS); - - assoc->capability |=3D cpu_to_le16(WLAN_CAPABILITY_SHORT_SLOT_TIME); - - crypt =3D ieee->crypt_info.crypt[ieee->crypt_info.tx_keyidx]; - - encrypt =3D (crypt && crypt->ops); - - if (encrypt) - assoc->capability |=3D cpu_to_le16(WLAN_CAPABILITY_PRIVACY); - - assoc->status =3D 0; - assoc->aid =3D cpu_to_le16(ieee->assoc_id); - if (ieee->assoc_id =3D=3D 0x2007) - ieee->assoc_id =3D 0; - else - ieee->assoc_id++; - - tag =3D skb_put(skb, rate_len); - rtllib_MFIE_Brate(ieee, &tag); - rtllib_MFIE_Grate(ieee, &tag); - - return skb; -} - -static struct sk_buff *rtllib_auth_resp(struct rtllib_device *ieee, int st= atus, - u8 *dest) -{ - struct sk_buff *skb =3D NULL; - struct rtllib_authentication *auth; - int len =3D ieee->tx_headroom + sizeof(struct rtllib_authentication) + 1; - - skb =3D dev_alloc_skb(len); - if (!skb) - return NULL; - - skb->len =3D sizeof(struct rtllib_authentication); - - skb_reserve(skb, ieee->tx_headroom); - - auth =3D skb_put(skb, sizeof(struct rtllib_authentication)); - - auth->status =3D cpu_to_le16(status); - auth->transaction =3D cpu_to_le16(2); - auth->algorithm =3D cpu_to_le16(WLAN_AUTH_OPEN); - - ether_addr_copy(auth->header.addr3, ieee->dev->dev_addr); - ether_addr_copy(auth->header.addr2, ieee->dev->dev_addr); - ether_addr_copy(auth->header.addr1, dest); - auth->header.frame_ctl =3D cpu_to_le16(RTLLIB_STYPE_AUTH); - return skb; -} - static struct sk_buff *rtllib_null_func(struct rtllib_device *ieee, short = pwr) { struct sk_buff *skb; @@ -1035,22 +956,6 @@ static struct sk_buff *rtllib_pspoll_func(struct rtll= ib_device *ieee) return skb; } =20 -static void rtllib_resp_to_assoc_rq(struct rtllib_device *ieee, u8 *dest) -{ - struct sk_buff *buf =3D rtllib_assoc_resp(ieee, dest); - - if (buf) - softmac_mgmt_xmit(buf, ieee); -} - -static void rtllib_resp_to_auth(struct rtllib_device *ieee, int s, u8 *des= t) -{ - struct sk_buff *buf =3D rtllib_auth_resp(ieee, s, dest); - - if (buf) - softmac_mgmt_xmit(buf, ieee); -} - static void rtllib_resp_to_probe(struct rtllib_device *ieee, u8 *dest) { struct sk_buff *buf =3D rtllib_probe_resp(ieee, dest); @@ -1708,25 +1613,6 @@ static inline int auth_parse(struct net_device *dev,= struct sk_buff *skb, return 0; } =20 -static int auth_rq_parse(struct net_device *dev, struct sk_buff *skb, u8 *= dest) -{ - struct rtllib_authentication *a; - - if (skb->len < (sizeof(struct rtllib_authentication) - - sizeof(struct rtllib_info_element))) { - netdev_dbg(dev, "invalid len in auth request: %d\n", skb->len); - return -1; - } - a =3D (struct rtllib_authentication *)skb->data; - - ether_addr_copy(dest, a->header.addr2); - - if (le16_to_cpu(a->algorithm) !=3D WLAN_AUTH_OPEN) - return WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG; - - return WLAN_STATUS_SUCCESS; -} - static short probe_rq_parse(struct rtllib_device *ieee, struct sk_buff *sk= b, u8 *src) { @@ -1773,23 +1659,6 @@ static short probe_rq_parse(struct rtllib_device *ie= ee, struct sk_buff *skb, return !strncmp(ssid, ieee->current_network.ssid, ssidlen); } =20 -static int assoc_rq_parse(struct net_device *dev, struct sk_buff *skb, u8 = *dest) -{ - struct rtllib_assoc_request_frame *a; - - if (skb->len < (sizeof(struct rtllib_assoc_request_frame) - - sizeof(struct rtllib_info_element))) { - netdev_dbg(dev, "invalid len in auth request:%d\n", skb->len); - return -1; - } - - a =3D (struct rtllib_assoc_request_frame *)skb->data; - - ether_addr_copy(dest, a->header.addr2); - - return 0; -} - static inline u16 assoc_parse(struct rtllib_device *ieee, struct sk_buff *= skb, int *aid) { @@ -1830,31 +1699,6 @@ void rtllib_rx_probe_rq(struct rtllib_device *ieee, = struct sk_buff *skb) } } =20 -static inline void rtllib_rx_auth_rq(struct rtllib_device *ieee, - struct sk_buff *skb) -{ - u8 dest[ETH_ALEN]; - int status; - - ieee->softmac_stats.rx_auth_rq++; - - status =3D auth_rq_parse(ieee->dev, skb, dest); - if (status !=3D -1) - rtllib_resp_to_auth(ieee, status, dest); -} - -static inline void rtllib_rx_assoc_rq(struct rtllib_device *ieee, - struct sk_buff *skb) -{ - u8 dest[ETH_ALEN]; - - ieee->softmac_stats.rx_ass_rq++; - if (assoc_rq_parse(ieee->dev, skb, dest) !=3D -1) - rtllib_resp_to_assoc_rq(ieee, dest); - - netdev_info(ieee->dev, "New client associated: %pM\n", dest); -} - void rtllib_sta_ps_send_null_frame(struct rtllib_device *ieee, short pwr) { struct sk_buff *buf =3D rtllib_null_func(ieee, pwr); @@ -2419,30 +2263,6 @@ void rtllib_wake_all_queues(struct rtllib_device *ie= ee) netif_tx_wake_all_queues(ieee->dev); } =20 -/* called in user context only */ -static void rtllib_start_master_bss(struct rtllib_device *ieee) -{ - ieee->assoc_id =3D 1; - - if (ieee->current_network.ssid_len =3D=3D 0) { - strncpy(ieee->current_network.ssid, - RTLLIB_DEFAULT_TX_ESSID, - IW_ESSID_MAX_SIZE); - - ieee->current_network.ssid_len =3D - strlen(RTLLIB_DEFAULT_TX_ESSID); - ieee->ssid_set =3D 1; - } - - ether_addr_copy(ieee->current_network.bssid, ieee->dev->dev_addr); - - ieee->set_chan(ieee->dev, ieee->current_network.channel); - ieee->link_state =3D MAC80211_LINKED; - ieee->link_change(ieee->dev); - notify_wx_assoc_event(ieee); - netif_carrier_on(ieee->dev); -} - static void rtllib_start_monitor_mode(struct rtllib_device *ieee) { /* reset hardware status */ --=20 2.41.0 From nobody Thu Dec 18 20:31:26 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 885E3C001B0 for ; Sun, 13 Aug 2023 06:36:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230093AbjHMGgu (ORCPT ); Sun, 13 Aug 2023 02:36:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229478AbjHMGgs (ORCPT ); Sun, 13 Aug 2023 02:36:48 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E083173C for ; Sat, 12 Aug 2023 23:36:44 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3177d3bdfb3so682958f8f.0 for ; Sat, 12 Aug 2023 23:36:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691908603; x=1692513403; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=hZksEFWs5gcqXs2RD9fx1RHaWOhTjp65n9mM6G9h1Zg=; b=p1pJseAx73KAkF1sWsnQDTQr2UKK8diUs5kBL6oo27OcK7q2qwt7eYq9fdb1hCpAMu vcxuLSFJqJHoa4MQt08pViRS6/AJ8qwKiDjktyzTV1/Tq/IF/hjwm9beZmtlqroJnO2l Bq96rnZNwfMVdy6Uv2mBuJgTYJ9dlbeBcwrxuSSvqVQGzjnRV+/ZGevkB7Rq9brmhOIY Mo+k4BnWinE36K2tRLzXoRyNwykdWyz0OtUvDwhPjCOUvDwOoUJWT/bRiqQJqnIvY6kS sU7aLqMudBU5nAmKDkdzOfqQfENfOOZAsSMmD96iwgbDeLnqYImKApgsYX3YJlIdl1vU z/qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691908603; x=1692513403; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hZksEFWs5gcqXs2RD9fx1RHaWOhTjp65n9mM6G9h1Zg=; b=Ep9JYhuMi98Vf+a2G6cF+FxmUUR5mc3/UJa5yziUVFxB5tpJxLhk8/Wc9t3toGEOsu nOzz9/HUPTplotewcw8Sukxvgq2XMtX2zqEEFJJZJQPL+Xem8xlZuxZyJ0RS+4+V0e5f w+FILPN8Zb32cBgcvbOVFIEyylFAgWavYFmKDMi6ZmwnVvM++xklGVIZ1jGgRFA6LzUc JYOPu/bUAfZvoLBj654F+JWIofO472gOOMQbXza0n7Mq58i0oDK2mXXPi/pmw8qS9GoQ 5MnswOMzpzpbH950jWrV0y0HH6vHH3saqUAUH+VG0AkW1uvncRSXZ2AsWCcKUqrIXvmd 7GMw== X-Gm-Message-State: AOJu0YzWKHEt2VuAwVPRc5aJ7FS03kK8DXU3xmaMAzBaJLEypqIBiH4t mr2zC63OwB6seEcTkKgDVS2H3cIQLHo= X-Google-Smtp-Source: AGHT+IG8ki56v/UzcesUZ/CiVmYuZaplD51t9zmZ14vEHOrNqcSm4IevbJn2jRH6wlJKbzYZmTYwbQ== X-Received: by 2002:a05:600c:354c:b0:3fb:a651:c153 with SMTP id i12-20020a05600c354c00b003fba651c153mr6265295wmq.2.1691908602760; Sat, 12 Aug 2023 23:36:42 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p579356c7.dip0.t-ipconnect.de. [87.147.86.199]) by smtp.gmail.com with ESMTPSA id p4-20020a1c7404000000b003fe1a092925sm10259669wmc.19.2023.08.12.23.36.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Aug 2023 23:36:42 -0700 (PDT) Date: Sun, 13 Aug 2023 08:36:40 +0200 From: Philipp Hortmann To: Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] staging: rtl8192e: Remove unsupported mode IW_MODE_REPEAT Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Tasklet irq_rx_tasklet is scheduled when hw is receiving frames. Function _rtl92e_irq_rx_tasklet() is then called which calls then _rtl92e_rx_normal(). In _rtl92e_rx_normal() all frames are processed by rtllib_rx(). When ieee->iw_mode is IW_MODE_REPEAT the function returns 0. The calling function then calls: dev_kfree_skb_any() which clears the skb. So the driver clears all packets received in this mode. Remove dead code in mode IW_MODE_REPEAT. Signed-off-by: Philipp Hortmann --- drivers/staging/rtl8192e/rtllib_rx.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/rtl8192e/rtllib_rx.c b/drivers/staging/rtl8192= e/rtllib_rx.c index b3f5ab33603e..322e603237d4 100644 --- a/drivers/staging/rtl8192e/rtllib_rx.c +++ b/drivers/staging/rtl8192e/rtllib_rx.c @@ -1496,8 +1496,6 @@ int rtllib_rx(struct rtllib_device *ieee, struct sk_b= uff *skb, case IW_MODE_INFRA: ret =3D rtllib_rx_InfraAdhoc(ieee, skb, rx_stats); break; - case IW_MODE_REPEAT: - break; case IW_MODE_MONITOR: ret =3D rtllib_rx_Monitor(ieee, skb, rx_stats); break; --=20 2.41.0 From nobody Thu Dec 18 20:31:26 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 0BC45C001B0 for ; Sun, 13 Aug 2023 06:37:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229490AbjHMGhE (ORCPT ); Sun, 13 Aug 2023 02:37:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37146 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229478AbjHMGhC (ORCPT ); Sun, 13 Aug 2023 02:37:02 -0400 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63AFE19A3 for ; Sat, 12 Aug 2023 23:36:52 -0700 (PDT) Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3177d3bdfb3so682987f8f.0 for ; Sat, 12 Aug 2023 23:36:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691908611; x=1692513411; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=yafTvXOw9qDIGS3IGLglUTI/sT6XCgYCEECZPdC93mM=; b=SpndYIL5xHz95OsitFo/24m0F5jbfwCYwe5HO3nITx7B6LHHoRBmleN2Pn/ZOgt91c f6xm+iVH69ErRScFz0ZisVdpoavkRTpV9Cnqm0wRhIGbKEVhXtrF0BOcGEKqIGSfN6QQ fufTNJAdTmZbApS39fWGQEBMjcTy1aiPWByzvLd7nZFWRmZs8kVFSxbOHLfeU4RtnpxX k1MAKcGCFtB6iAn7F/wMOGLo9roc2UZ8l9i4KQ1Ub+N+jP7gm91zLk8pfb/shAoJppea dkKLYAMvB0uqjW1ADg4Dl2OqNHrCRow+/rtfpBAxGtGVq5OWM5KZlFpf5r7TW32Atwon zFsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691908611; x=1692513411; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yafTvXOw9qDIGS3IGLglUTI/sT6XCgYCEECZPdC93mM=; b=kwMpajRG2s1CQTl9tcVen0YC5ptrAGApZyiJzBTsLBsp2D1+w+s2RycbiGkFlB2XeO b1X/MfL7iibX9d8vEGF7/LspfvdXc4oehO54fNqklRmn75E16/mIKHeDIvDXGXO8Q6ee j/7bI19p3b+cqwKwY9KnBVx9tLK+nUdUxKYpIGF33hSI0vTtfTd/SEF6e2+RR1U3PD14 fXEneT/ugRDHyjdlkqxtcGaubgq7hmqC0XnyCe3h3faO64DHt/D4lk6mrjr+PxWST4E1 ZVHifRORKDMK0i2F71l+x4XpQpjymjzZuMlUvjBIONlx/+7hGWdvF9grktq2Fpr9Idtu NXZw== X-Gm-Message-State: AOJu0Yxb+lQlOLs04WPI4OUaqUX7IgqTgdTg77UUpmXKfRHCF590iTq8 qcMeFX3MOBXkPkisIPNuCYg= X-Google-Smtp-Source: AGHT+IEqm6+RA5GwptemXwxHBIgaAKqI9h+sx0dE6FHQDA2UxR5Z78pHLD4svgwEvyUCbS0pKpmDtA== X-Received: by 2002:a05:600c:5111:b0:3fe:5228:b78c with SMTP id o17-20020a05600c511100b003fe5228b78cmr6279334wms.1.1691908610821; Sat, 12 Aug 2023 23:36:50 -0700 (PDT) Received: from matrix-ESPRIMO-P710 (p579356c7.dip0.t-ipconnect.de. [87.147.86.199]) by smtp.gmail.com with ESMTPSA id z5-20020a7bc7c5000000b003fbe4cecc3bsm13152437wmk.16.2023.08.12.23.36.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Aug 2023 23:36:50 -0700 (PDT) Date: Sun, 13 Aug 2023 08:36:48 +0200 From: Philipp Hortmann To: Greg Kroah-Hartman , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] staging: rtl8192e: Remove unsupported mode IW_MODE_MESH Message-ID: <54230361abba9f33827eac9bf5074dd9f62d787b.1691908402.git.philipp.g.hortmann@gmail.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Tasklet irq_rx_tasklet is scheduled when hw is receiving frames. Function _rtl92e_irq_rx_tasklet() is then called which calls then _rtl92e_rx_normal(). In _rtl92e_rx_normal() all frames are processed by rtllib_rx(). When ieee->iw_mode is IW_MODE_MESH the function returns 0. The calling function then calls: dev_kfree_skb_any() which clears the skb. So the driver clears all packets received in this mode. Remove dead code in mode IW_MODE_MESH. Signed-off-by: Philipp Hortmann --- drivers/staging/rtl8192e/rtllib.h | 4 ---- drivers/staging/rtl8192e/rtllib_rx.c | 20 ++++++++------------ 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/drivers/staging/rtl8192e/rtllib.h b/drivers/staging/rtl8192e/r= tllib.h index 0c812eb02ba6..afde4812a221 100644 --- a/drivers/staging/rtl8192e/rtllib.h +++ b/drivers/staging/rtl8192e/rtllib.h @@ -89,10 +89,6 @@ static inline void *netdev_priv_rsl(struct net_device *d= ev) #define HIGH_QUEUE 7 #define BEACON_QUEUE 8 =20 -#ifndef IW_MODE_MESH -#define IW_MODE_MESH 7 -#endif - #define IE_CISCO_FLAG_POSITION 0x08 #define SUPPORT_CKIP_MIC 0x08 #define SUPPORT_CKIP_PK 0x10 diff --git a/drivers/staging/rtl8192e/rtllib_rx.c b/drivers/staging/rtl8192= e/rtllib_rx.c index 322e603237d4..40e7bbb17c0d 100644 --- a/drivers/staging/rtl8192e/rtllib_rx.c +++ b/drivers/staging/rtl8192e/rtllib_rx.c @@ -1013,17 +1013,15 @@ static int rtllib_rx_data_filter(struct rtllib_devi= ce *ieee, u16 fc, } } =20 - if (ieee->iw_mode !=3D IW_MODE_MESH) { - /* packets from our adapter are dropped (echo) */ - if (!memcmp(src, ieee->dev->dev_addr, ETH_ALEN)) - return -1; + /* packets from our adapter are dropped (echo) */ + if (!memcmp(src, ieee->dev->dev_addr, ETH_ALEN)) + return -1; =20 - /* {broad,multi}cast packets to our BSS go through */ - if (is_multicast_ether_addr(dst)) { - if (memcmp(bssid, ieee->current_network.bssid, - ETH_ALEN)) - return -1; - } + /* {broad,multi}cast packets to our BSS go through */ + if (is_multicast_ether_addr(dst)) { + if (memcmp(bssid, ieee->current_network.bssid, + ETH_ALEN)) + return -1; } return 0; } @@ -1499,8 +1497,6 @@ int rtllib_rx(struct rtllib_device *ieee, struct sk_b= uff *skb, case IW_MODE_MONITOR: ret =3D rtllib_rx_Monitor(ieee, skb, rx_stats); break; - case IW_MODE_MESH: - break; default: netdev_info(ieee->dev, "%s: ERR iw mode!!!\n", __func__); break; --=20 2.41.0