]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
wifi: mwifiex: remove unnecessary checks for valid priv
authorSascha Hauer <s.hauer@pengutronix.de>
Fri, 16 Aug 2024 06:56:10 +0000 (08:56 +0200)
committerKalle Valo <kvalo@kernel.org>
Thu, 22 Aug 2024 09:00:11 +0000 (12:00 +0300)
The pointers in adapter->priv[] are allocated in mwifiex_register().
With an allocation failed the function will return an error and
driver initialization is aborted. This makes all checks for valid
priv pointers unnecessary throughout the driver. In many places
the pointers are assumed to be valid without checks, this patch
removes the remaining checks.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20240816-mwifiex-remove-priv-checks-v1-1-6dd6553e8ed9@pengutronix.de
13 files changed:
drivers/net/wireless/marvell/mwifiex/11n.c
drivers/net/wireless/marvell/mwifiex/11n.h
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
drivers/net/wireless/marvell/mwifiex/cfg80211.c
drivers/net/wireless/marvell/mwifiex/cmdevt.c
drivers/net/wireless/marvell/mwifiex/init.c
drivers/net/wireless/marvell/mwifiex/join.c
drivers/net/wireless/marvell/mwifiex/main.c
drivers/net/wireless/marvell/mwifiex/main.h
drivers/net/wireless/marvell/mwifiex/scan.c
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
drivers/net/wireless/marvell/mwifiex/usb.c
drivers/net/wireless/marvell/mwifiex/wmm.c

index c0c635e74bc5051eafb55c66fe0d8e1528bcfef5..66f0f5377ac1819463e1a7ff2938327e661b1e47 100644 (file)
@@ -881,8 +881,6 @@ void mwifiex_update_ampdu_txwinsize(struct mwifiex_adapter *adapter)
        struct mwifiex_private *priv;
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (!adapter->priv[i])
-                       continue;
                priv = adapter->priv[i];
                tx_win_size = priv->add_ba_param.tx_win_size;
 
index 7738ebe1fec1728cd17996752ec1658c6812972c..773bd5c0f007dafa8e9da40b9a6f4148d1693722 100644 (file)
@@ -108,9 +108,7 @@ static inline u8 mwifiex_space_avail_for_new_ba_stream(
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (priv)
-                       ba_stream_num += list_count_nodes(
-                               &priv->tx_ba_stream_tbl_ptr);
+               ba_stream_num += list_count_nodes(&priv->tx_ba_stream_tbl_ptr);
        }
 
        if (adapter->fw_api_ver == MWIFIEX_FW_V15) {
index 10690e82358b892f04327d41981d5eb7f5791309..cb948ca343736f12129213c00a6154aaccc72d8a 100644 (file)
@@ -810,8 +810,6 @@ void mwifiex_update_rxreor_flags(struct mwifiex_adapter *adapter, u8 flags)
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (!priv)
-                       continue;
 
                spin_lock_bh(&priv->rx_reorder_tbl_lock);
                list_for_each_entry(tbl, &priv->rx_reorder_tbl_ptr, list)
@@ -834,8 +832,6 @@ static void mwifiex_update_ampdu_rxwinsize(struct mwifiex_adapter *adapter,
        dev_dbg(adapter->dev, "Update rxwinsize %d\n", coex_flag);
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (!adapter->priv[i])
-                       continue;
                priv = adapter->priv[i];
                rx_win_size = priv->add_ba_param.rx_win_size;
                if (coex_flag) {
@@ -882,17 +878,16 @@ void mwifiex_coex_ampdu_rxwinsize(struct mwifiex_adapter *adapter)
        u8 count = 0;
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       priv = adapter->priv[i];
-                       if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA) {
-                               if (priv->media_connected)
-                                       count++;
-                       }
-                       if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) {
-                               if (priv->bss_started)
-                                       count++;
-                       }
+               priv = adapter->priv[i];
+               if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA) {
+                       if (priv->media_connected)
+                               count++;
                }
+               if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) {
+                       if (priv->bss_started)
+                               count++;
+               }
+
                if (count >= MWIFIEX_BSS_COEX_COUNT)
                        break;
        }
index 888b586da266097ee6694b4753f88fb234008041..5697a02e6b8d3412273ef9fd7a541f872151a34a 100644 (file)
@@ -3508,7 +3508,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (priv && priv->netdev)
+               if (priv->netdev)
                        netif_device_detach(priv->netdev);
        }
 
@@ -3580,7 +3580,7 @@ static int mwifiex_cfg80211_resume(struct wiphy *wiphy)
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (priv && priv->netdev)
+               if (priv->netdev)
                        netif_device_attach(priv->netdev);
        }
 
index ea6ebc9c23ef0d661a85dfb3b2cb832ba5723b49..7894102f03eb0e81aad9a401bcd44c57cbea832c 100644 (file)
@@ -482,7 +482,7 @@ int mwifiex_process_event(struct mwifiex_adapter *adapter)
        if ((adapter->event_cause & EVENT_ID_MASK) == EVENT_RADAR_DETECTED) {
                for (i = 0; i < adapter->priv_num; i++) {
                        priv = adapter->priv[i];
-                       if (priv && mwifiex_is_11h_active(priv)) {
+                       if (mwifiex_is_11h_active(priv)) {
                                adapter->event_cause |=
                                        ((priv->bss_num & 0xff) << 16) |
                                        ((priv->bss_type & 0xff) << 24);
index a336d45b9677ea1f37c0d2d12cd962d17e2f28cb..8b61e45cd667819134d4977c79d195a7759bb263 100644 (file)
@@ -368,15 +368,13 @@ static void mwifiex_invalidate_lists(struct mwifiex_adapter *adapter)
                list_del(&adapter->bss_prio_tbl[i].bss_prio_head);
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       priv = adapter->priv[i];
-                       for (j = 0; j < MAX_NUM_TID; ++j)
-                               list_del(&priv->wmm.tid_tbl_ptr[j].ra_list);
-                       list_del(&priv->tx_ba_stream_tbl_ptr);
-                       list_del(&priv->rx_reorder_tbl_ptr);
-                       list_del(&priv->sta_list);
-                       list_del(&priv->auto_tdls_list);
-               }
+               priv = adapter->priv[i];
+               for (j = 0; j < MAX_NUM_TID; ++j)
+                       list_del(&priv->wmm.tid_tbl_ptr[j].ra_list);
+               list_del(&priv->tx_ba_stream_tbl_ptr);
+               list_del(&priv->rx_reorder_tbl_ptr);
+               list_del(&priv->sta_list);
+               list_del(&priv->auto_tdls_list);
        }
 }
 
@@ -425,13 +423,11 @@ int mwifiex_init_lock_list(struct mwifiex_adapter *adapter)
        spin_lock_init(&adapter->mwifiex_cmd_lock);
        spin_lock_init(&adapter->queue_lock);
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       priv = adapter->priv[i];
-                       spin_lock_init(&priv->wmm.ra_list_spinlock);
-                       spin_lock_init(&priv->curr_bcn_buf_lock);
-                       spin_lock_init(&priv->sta_list_spinlock);
-                       spin_lock_init(&priv->auto_tdls_lock);
-               }
+               priv = adapter->priv[i];
+               spin_lock_init(&priv->wmm.ra_list_spinlock);
+               spin_lock_init(&priv->curr_bcn_buf_lock);
+               spin_lock_init(&priv->sta_list_spinlock);
+               spin_lock_init(&priv->auto_tdls_lock);
        }
 
        /* Initialize cmd_free_q */
@@ -455,8 +451,6 @@ int mwifiex_init_lock_list(struct mwifiex_adapter *adapter)
        }
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (!adapter->priv[i])
-                       continue;
                priv = adapter->priv[i];
                for (j = 0; j < MAX_NUM_TID; ++j)
                        INIT_LIST_HEAD(&priv->wmm.tid_tbl_ptr[j].ra_list);
@@ -506,31 +500,24 @@ int mwifiex_init_fw(struct mwifiex_adapter *adapter)
        mwifiex_init_adapter(adapter);
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       priv = adapter->priv[i];
+               priv = adapter->priv[i];
 
-                       /* Initialize private structure */
-                       ret = mwifiex_init_priv(priv);
-                       if (ret)
-                               return -1;
-               }
+               /* Initialize private structure */
+               ret = mwifiex_init_priv(priv);
+               if (ret)
+                       return -1;
        }
        if (adapter->mfg_mode) {
                adapter->hw_status = MWIFIEX_HW_STATUS_READY;
                ret = -EINPROGRESS;
        } else {
                for (i = 0; i < adapter->priv_num; i++) {
-                       if (adapter->priv[i]) {
-                               ret = mwifiex_sta_init_cmd(adapter->priv[i],
-                                                          first_sta, true);
-                               if (ret == -1)
-                                       return -1;
-
-                               first_sta = false;
-                       }
-
-
+                       ret = mwifiex_sta_init_cmd(adapter->priv[i],
+                                                  first_sta, true);
+                       if (ret == -1)
+                               return -1;
 
+                       first_sta = false;
                }
        }
 
@@ -637,13 +624,11 @@ mwifiex_shutdown_drv(struct mwifiex_adapter *adapter)
 
        /* Clean up Tx/Rx queues and delete BSS priority table */
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       priv = adapter->priv[i];
+               priv = adapter->priv[i];
 
-                       mwifiex_clean_auto_tdls(priv);
-                       mwifiex_abort_cac(priv);
-                       mwifiex_free_priv(priv);
-               }
+               mwifiex_clean_auto_tdls(priv);
+               mwifiex_abort_cac(priv);
+               mwifiex_free_priv(priv);
        }
 
        atomic_set(&adapter->tx_queued, 0);
index 249210fb2e7538bc4c4d848f9c216592ca54bb9e..6d8f1d1d7ca4e9900aea1f6916d47968cc2eac14 100644 (file)
@@ -1582,8 +1582,7 @@ void mwifiex_deauthenticate_all(struct mwifiex_adapter *adapter)
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (priv)
-                       mwifiex_deauthenticate(priv, NULL);
+               mwifiex_deauthenticate(priv, NULL);
        }
 }
 EXPORT_SYMBOL_GPL(mwifiex_deauthenticate_all);
index 88cd2d6a1dcb75ed4cd0daf33ed4e35394b94816..96d1f6039fbca3f2cc610d9ebf472f72e512a2d3 100644 (file)
@@ -127,10 +127,8 @@ static int mwifiex_unregister(struct mwifiex_adapter *adapter)
 
        /* Free private structures */
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       mwifiex_free_curr_bcn(adapter->priv[i]);
-                       kfree(adapter->priv[i]);
-               }
+               mwifiex_free_curr_bcn(adapter->priv[i]);
+               kfree(adapter->priv[i]);
        }
 
        if (adapter->nd_info) {
@@ -1171,7 +1169,7 @@ void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter)
        }
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (!adapter->priv[i] || !adapter->priv[i]->netdev)
+               if (!adapter->priv[i]->netdev)
                        continue;
                priv = adapter->priv[i];
                p += sprintf(p, "\n[interface  : \"%s\"]\n",
@@ -1210,7 +1208,7 @@ void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter)
        debug_info = kzalloc(sizeof(*debug_info), GFP_KERNEL);
        if (debug_info) {
                for (i = 0; i < adapter->priv_num; i++) {
-                       if (!adapter->priv[i] || !adapter->priv[i]->netdev)
+                       if (!adapter->priv[i]->netdev)
                                continue;
                        priv = adapter->priv[i];
                        mwifiex_get_debug_info(priv, debug_info);
@@ -1472,7 +1470,7 @@ static void mwifiex_uninit_sw(struct mwifiex_adapter *adapter)
        /* Stop data */
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (priv && priv->netdev) {
+               if (priv->netdev) {
                        mwifiex_stop_net_dev_queue(priv->netdev, adapter);
                        if (netif_carrier_ok(priv->netdev))
                                netif_carrier_off(priv->netdev);
@@ -1497,8 +1495,6 @@ static void mwifiex_uninit_sw(struct mwifiex_adapter *adapter)
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (!priv)
-                       continue;
                rtnl_lock();
                if (priv->netdev &&
                    priv->wdev.iftype != NL80211_IFTYPE_UNSPECIFIED) {
index 9024bb944e6aa5469aa0ec95a37e2c55803fd6e8..529863edd7a25745370bc391c7c42fd4b19d197c 100644 (file)
@@ -1303,14 +1303,12 @@ mwifiex_get_priv_by_id(struct mwifiex_adapter *adapter,
        int i;
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       if (adapter->priv[i]->bss_mode == NL80211_IFTYPE_UNSPECIFIED)
-                               continue;
+               if (adapter->priv[i]->bss_mode == NL80211_IFTYPE_UNSPECIFIED)
+                       continue;
 
-                       if ((adapter->priv[i]->bss_num == bss_num) &&
-                           (adapter->priv[i]->bss_type == bss_type))
-                               break;
-               }
+               if ((adapter->priv[i]->bss_num == bss_num) &&
+                   (adapter->priv[i]->bss_type == bss_type))
+                       break;
        }
        return ((i < adapter->priv_num) ? adapter->priv[i] : NULL);
 }
@@ -1326,11 +1324,9 @@ mwifiex_get_priv(struct mwifiex_adapter *adapter,
        int i;
 
        for (i = 0; i < adapter->priv_num; i++) {
-               if (adapter->priv[i]) {
-                       if (bss_role == MWIFIEX_BSS_ROLE_ANY ||
-                           GET_BSS_ROLE(adapter->priv[i]) == bss_role)
-                               break;
-               }
+               if (bss_role == MWIFIEX_BSS_ROLE_ANY ||
+                   GET_BSS_ROLE(adapter->priv[i]) == bss_role)
+                       break;
        }
 
        return ((i < adapter->priv_num) ? adapter->priv[i] : NULL);
@@ -1348,12 +1344,10 @@ mwifiex_get_unused_bss_num(struct mwifiex_adapter *adapter, u8 bss_type)
 
        memset(index, 0, sizeof(index));
        for (i = 0; i < adapter->priv_num; i++)
-               if (adapter->priv[i]) {
-                       if (adapter->priv[i]->bss_type == bss_type &&
-                           !(adapter->priv[i]->bss_mode ==
-                             NL80211_IFTYPE_UNSPECIFIED)) {
-                               index[adapter->priv[i]->bss_num] = 1;
-                       }
+               if (adapter->priv[i]->bss_type == bss_type &&
+                   !(adapter->priv[i]->bss_mode ==
+                     NL80211_IFTYPE_UNSPECIFIED)) {
+                       index[adapter->priv[i]->bss_num] = 1;
                }
        for (j = 0; j < MWIFIEX_MAX_BSS_NUM; j++)
                if (!index[j])
index e782d652cb93311699dde9ff77c01bc135b875dd..010e6ff91457f7e951748439fba1ca8563ca279b 100644 (file)
@@ -2051,8 +2051,6 @@ void mwifiex_cancel_scan(struct mwifiex_adapter *adapter)
                spin_unlock_bh(&adapter->mwifiex_cmd_lock);
                for (i = 0; i < adapter->priv_num; i++) {
                        priv = adapter->priv[i];
-                       if (!priv)
-                               continue;
                        if (priv->scan_request) {
                                struct cfg80211_scan_info info = {
                                        .aborted = true,
index a94659988a4ce323bcf2a651dc68d10cfe17f923..d3cba6895f8ce45f524cd3bcd59d639d8c788ed3 100644 (file)
@@ -503,8 +503,7 @@ int mwifiex_enable_hs(struct mwifiex_adapter *adapter)
        if (disconnect_on_suspend) {
                for (i = 0; i < adapter->priv_num; i++) {
                        priv = adapter->priv[i];
-                       if (priv)
-                               mwifiex_deauthenticate(priv, NULL);
+                       mwifiex_deauthenticate(priv, NULL);
                }
        }
 
index 515e6db410f28aefc63a5587dbb274866b053482..6085cd50970d46fe51a32b06d578a2d3c91659a6 100644 (file)
@@ -745,8 +745,6 @@ static void mwifiex_usb_port_resync(struct mwifiex_adapter *adapter)
        if (adapter->usb_mc_status) {
                for (i = 0; i < adapter->priv_num; i++) {
                        priv = adapter->priv[i];
-                       if (!priv)
-                               continue;
                        if ((priv->bss_role == MWIFIEX_BSS_ROLE_UAP &&
                             !priv->bss_started) ||
                            (priv->bss_role == MWIFIEX_BSS_ROLE_STA &&
@@ -758,8 +756,6 @@ static void mwifiex_usb_port_resync(struct mwifiex_adapter *adapter)
        } else {
                for (i = 0; i < adapter->priv_num; i++) {
                        priv = adapter->priv[i];
-                       if (!priv)
-                               continue;
                        if ((priv->bss_role == MWIFIEX_BSS_ROLE_UAP &&
                             priv->bss_started) ||
                            (priv->bss_role == MWIFIEX_BSS_ROLE_STA &&
@@ -770,8 +766,7 @@ static void mwifiex_usb_port_resync(struct mwifiex_adapter *adapter)
                }
                for (i = 0; i < adapter->priv_num; i++) {
                        priv = adapter->priv[i];
-                       if (priv)
-                               priv->usb_port = active_port;
+                       priv->usb_port = active_port;
                }
                for (i = 0; i < MWIFIEX_TX_DATA_PORT; i++) {
                        if (active_port == card->port[i].tx_data_ep)
index 8558995e8fc73d7744c68af3547e468ffa7a3d2d..bcb61dab7dc86ce49829ff83264b2e6d13d47de7 100644 (file)
@@ -454,8 +454,6 @@ int mwifiex_bypass_txlist_empty(struct mwifiex_adapter *adapter)
 
        for (i = 0; i < adapter->priv_num; i++) {
                priv = adapter->priv[i];
-               if (!priv)
-                       continue;
                if (adapter->if_ops.is_port_ready &&
                    !adapter->if_ops.is_port_ready(priv))
                        continue;
@@ -477,8 +475,6 @@ mwifiex_wmm_lists_empty(struct mwifiex_adapter *adapter)
 
        for (i = 0; i < adapter->priv_num; ++i) {
                priv = adapter->priv[i];
-               if (!priv)
-                       continue;
                if (!priv->port_open &&
                    (priv->bss_mode != NL80211_IFTYPE_ADHOC))
                        continue;
@@ -1491,9 +1487,6 @@ void mwifiex_process_bypass_tx(struct mwifiex_adapter *adapter)
        for (i = 0; i < adapter->priv_num; ++i) {
                priv = adapter->priv[i];
 
-               if (!priv)
-                       continue;
-
                if (adapter->if_ops.is_port_ready &&
                    !adapter->if_ops.is_port_ready(priv))
                        continue;