wifi: ipw2x00: Remove unused libipw_rx_any()
authorDr. David Alan Gilbert <linux@treblig.org>
Wed, 22 Jan 2025 02:22:40 +0000 (02:22 +0000)
committerKalle Valo <kvalo@kernel.org>
Tue, 28 Jan 2025 18:15:05 +0000 (20:15 +0200)
libipw_rx_any() was added in 2006 by commit 1a995b45a528 ("[PATCH]
ieee80211_rx_any: filter out packets, call ieee80211_rx or ieee80211_rx_mgt")
as ieee80211_rx_any but is currently unused and I can't find any sign it was
used under either name.

Remove it.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20250122022240.456198-1-linux@treblig.org
drivers/net/wireless/intel/ipw2x00/libipw.h
drivers/net/wireless/intel/ipw2x00/libipw_rx.c

index 3c20353e5a41237f4f618c99eb3bac9d2f5e07b9..e031e8692ca6458ba34b59ea734f5a1a5fcfe40f 100644 (file)
@@ -1011,8 +1011,6 @@ netdev_tx_t libipw_xmit(struct sk_buff *skb, struct net_device *dev);
 void libipw_txb_free(struct libipw_txb *);
 
 /* libipw_rx.c */
-void libipw_rx_any(struct libipw_device *ieee, struct sk_buff *skb,
-                  struct libipw_rx_stats *stats);
 int libipw_rx(struct libipw_device *ieee, struct sk_buff *skb,
              struct libipw_rx_stats *rx_stats);
 /* make sure to set stats->len */
index dc4e91f58bb4a66dbe8af25ef074416074b23443..b7bc94f7abd8aad6feb4ad1a06eaf0e64c260ae2 100644 (file)
@@ -823,96 +823,6 @@ int libipw_rx(struct libipw_device *ieee, struct sk_buff *skb,
        return 0;
 }
 
-/* Filter out unrelated packets, call libipw_rx[_mgt]
- * This function takes over the skb, it should not be used again after calling
- * this function. */
-void libipw_rx_any(struct libipw_device *ieee,
-                    struct sk_buff *skb, struct libipw_rx_stats *stats)
-{
-       struct libipw_hdr_4addr *hdr;
-       int is_packet_for_us;
-       u16 fc;
-
-       if (ieee->iw_mode == IW_MODE_MONITOR) {
-               if (!libipw_rx(ieee, skb, stats))
-                       dev_kfree_skb_irq(skb);
-               return;
-       }
-
-       if (skb->len < sizeof(struct ieee80211_hdr))
-               goto drop_free;
-
-       hdr = (struct libipw_hdr_4addr *)skb->data;
-       fc = le16_to_cpu(hdr->frame_ctl);
-
-       if ((fc & IEEE80211_FCTL_VERS) != 0)
-               goto drop_free;
-
-       switch (fc & IEEE80211_FCTL_FTYPE) {
-       case IEEE80211_FTYPE_MGMT:
-               if (skb->len < sizeof(struct libipw_hdr_3addr))
-                       goto drop_free;
-               libipw_rx_mgt(ieee, hdr, stats);
-               dev_kfree_skb_irq(skb);
-               return;
-       case IEEE80211_FTYPE_DATA:
-               break;
-       case IEEE80211_FTYPE_CTL:
-               return;
-       default:
-               return;
-       }
-
-       is_packet_for_us = 0;
-       switch (ieee->iw_mode) {
-       case IW_MODE_ADHOC:
-               /* our BSS and not from/to DS */
-               if (ether_addr_equal(hdr->addr3, ieee->bssid) &&
-                   ((fc & (IEEE80211_FCTL_TODS + IEEE80211_FCTL_FROMDS)) == 0)) {
-                       /* promisc: get all */
-                       if (ieee->dev->flags & IFF_PROMISC)
-                               is_packet_for_us = 1;
-                       /* to us */
-                       else if (ether_addr_equal(hdr->addr1, ieee->dev->dev_addr))
-                               is_packet_for_us = 1;
-                       /* mcast */
-                       else if (is_multicast_ether_addr(hdr->addr1))
-                               is_packet_for_us = 1;
-               }
-               break;
-       case IW_MODE_INFRA:
-               /* our BSS (== from our AP) and from DS */
-               if (ether_addr_equal(hdr->addr2, ieee->bssid) &&
-                   ((fc & (IEEE80211_FCTL_TODS + IEEE80211_FCTL_FROMDS)) == IEEE80211_FCTL_FROMDS)) {
-                       /* promisc: get all */
-                       if (ieee->dev->flags & IFF_PROMISC)
-                               is_packet_for_us = 1;
-                       /* to us */
-                       else if (ether_addr_equal(hdr->addr1, ieee->dev->dev_addr))
-                               is_packet_for_us = 1;
-                       /* mcast */
-                       else if (is_multicast_ether_addr(hdr->addr1)) {
-                               /* not our own packet bcasted from AP */
-                               if (!ether_addr_equal(hdr->addr3, ieee->dev->dev_addr))
-                                       is_packet_for_us = 1;
-                       }
-               }
-               break;
-       default:
-               /* ? */
-               break;
-       }
-
-       if (is_packet_for_us)
-               if (!libipw_rx(ieee, skb, stats))
-                       dev_kfree_skb_irq(skb);
-       return;
-
-drop_free:
-       dev_kfree_skb_irq(skb);
-       ieee->dev->stats.rx_dropped++;
-}
-
 #define MGMT_FRAME_FIXED_PART_LENGTH           0x24
 
 static u8 qos_oui[QOS_OUI_LEN] = { 0x00, 0x50, 0xF2 };
@@ -1729,6 +1639,5 @@ void libipw_rx_mgt(struct libipw_device *ieee,
        }
 }
 
-EXPORT_SYMBOL_GPL(libipw_rx_any);
 EXPORT_SYMBOL(libipw_rx_mgt);
 EXPORT_SYMBOL(libipw_rx);