[tools] ipkg-utils: use (g)stat instead of "du -b" to find package size, fixes Darwin...
[openwrt.git] / package / mac80211 / patches / 300-pending_work.patch
index cc2b1c2..74acba5 100644 (file)
        if (ieee80211_has_a4(hdr->frame_control) &&
            sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta)
                return -1;
-@@ -1611,12 +1612,16 @@ __ieee80211_data_to_8023(struct ieee8021
+@@ -1611,11 +1612,13 @@ __ieee80211_data_to_8023(struct ieee8021
                return -1;
  
        ret = ieee80211_data_to_8023(rx->skb, sdata->vif.addr, sdata->vif.type);
  
        ehdr = (struct ethhdr *) rx->skb->data;
 -      if (ehdr->h_proto != rx->sdata->control_port_protocol)
--              return -1;
-+      if (ehdr->h_proto == rx->sdata->control_port_protocol) {
++      if (ehdr->h_proto == rx->sdata->control_port_protocol)
 +              *port_control = true;
-+
-+              if (check_port_control)
-+                      return -1;
-+      }
++      else if (check_port_control)
+               return -1;
  
        return 0;
- }
-@@ -1916,6 +1921,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_
+@@ -1916,6 +1919,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_
        struct net_device *dev = sdata->dev;
        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data;
        __le16 fc = hdr->frame_control;
        int err;
  
        if (unlikely(!ieee80211_is_data(hdr->frame_control)))
-@@ -1932,13 +1938,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_
+@@ -1932,13 +1936,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_
            sdata->vif.type == NL80211_IFTYPE_AP)
                return RX_DROP_MONITOR;
  
  
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1244,6 +1244,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
-       u32 saveDefAntenna;
-       u32 macStaId1;
-       u64 tsf = 0;
-+      bool reset = false;
-       int i, r;
+@@ -1249,15 +1249,6 @@ int ath9k_hw_reset(struct ath_hw *ah, st
        ah->txchainmask = common->tx_chainmask;
-@@ -1251,11 +1252,13 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+       ah->rxchainmask = common->rx_chainmask;
  
-       if ((common->bus_ops->ath_bus_type != ATH_USB) && !ah->chip_fullsleep) {
-               ath9k_hw_abortpcurecv(ah);
+-      if ((common->bus_ops->ath_bus_type != ATH_USB) && !ah->chip_fullsleep) {
+-              ath9k_hw_abortpcurecv(ah);
 -              if (!ath9k_hw_stopdmarecv(ah)) {
-+              if (!ath9k_hw_stopdmarecv(ah, &reset)) {
-                       ath_dbg(common, ATH_DBG_XMIT,
-                               "Failed to stop receive dma\n");
-                       bChannelChange = false;
-               }
-+              if (reset)
-+                      bChannelChange = false;
-       }
+-                      ath_dbg(common, ATH_DBG_XMIT,
+-                              "Failed to stop receive dma\n");
+-                      bChannelChange = false;
+-              }
+-      }
+-
        if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE))
+               return -EIO;
 --- a/drivers/net/wireless/ath/ath9k/mac.c
 +++ b/drivers/net/wireless/ath/ath9k/mac.c
-@@ -710,18 +710,36 @@ void ath9k_hw_abortpcurecv(struct ath_hw
+@@ -710,27 +710,46 @@ void ath9k_hw_abortpcurecv(struct ath_hw
  }
  EXPORT_SYMBOL(ath9k_hw_abortpcurecv);
  
                udelay(AH_TIME_QUANTUM);
        }
  
+       if (i == 0) {
+               ath_err(common,
+-                      "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x\n",
++                      "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n",
+                       AH_RX_STOP_DMA_TIMEOUT / 1000,
+                       REG_READ(ah, AR_CR),
+-                      REG_READ(ah, AR_DIAG_SW));
++                      REG_READ(ah, AR_DIAG_SW),
++                      REG_READ(ah, AR_DMADBG_7));
+               return false;
+       } else {
+               return true;
 --- a/drivers/net/wireless/ath/ath9k/mac.h
 +++ b/drivers/net/wireless/ath/ath9k/mac.h
 @@ -695,7 +695,7 @@ bool ath9k_hw_setrxabort(struct ath_hw *
This page took 0.027891 seconds and 4 git commands to generate.