]> err.no Git - linux-2.6/commitdiff
wireless: fix warnings from QoS patch
authorJohannes Berg <johannes@sipsolutions.net>
Tue, 15 Jul 2008 09:08:24 +0000 (02:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jul 2008 09:08:24 +0000 (02:08 -0700)
When I removed the special "default" meaning from the QoS
parameters, I forgot to update drivers and this lead to
warnings because some drivers were checking for the special
values and putting in defaults. This fixes that by removing
the default special-casing completely.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/b43/main.c
drivers/net/wireless/rt2x00/rt2x00mac.c

index 381dbd33dfc2cecbd2cefb5d78ffa445f6b5e788..e78319aa47c17c6edc95e593df8b1ffd1cb8cb82 100644 (file)
@@ -3073,53 +3073,20 @@ static void b43_qos_params_upload(struct b43_wldev *dev,
                                  u16 shm_offset)
 {
        u16 params[B43_NR_QOSPARAMS];
-       int cw_min, cw_max, aifs, bslots, tmp;
+       int bslots, tmp;
        unsigned int i;
 
-       const u16 aCWmin = 0x0001;
-       const u16 aCWmax = 0x03FF;
-
-       /* Calculate the default values for the parameters, if needed. */
-       switch (shm_offset) {
-       case B43_QOS_VOICE:
-               aifs = (p->aifs == -1) ? 2 : p->aifs;
-               cw_min = (p->cw_min == 0) ? ((aCWmin + 1) / 4 - 1) : p->cw_min;
-               cw_max = (p->cw_max == 0) ? ((aCWmin + 1) / 2 - 1) : p->cw_max;
-               break;
-       case B43_QOS_VIDEO:
-               aifs = (p->aifs == -1) ? 2 : p->aifs;
-               cw_min = (p->cw_min == 0) ? ((aCWmin + 1) / 2 - 1) : p->cw_min;
-               cw_max = (p->cw_max == 0) ? aCWmin : p->cw_max;
-               break;
-       case B43_QOS_BESTEFFORT:
-               aifs = (p->aifs == -1) ? 3 : p->aifs;
-               cw_min = (p->cw_min == 0) ? aCWmin : p->cw_min;
-               cw_max = (p->cw_max == 0) ? aCWmax : p->cw_max;
-               break;
-       case B43_QOS_BACKGROUND:
-               aifs = (p->aifs == -1) ? 7 : p->aifs;
-               cw_min = (p->cw_min == 0) ? aCWmin : p->cw_min;
-               cw_max = (p->cw_max == 0) ? aCWmax : p->cw_max;
-               break;
-       default:
-               B43_WARN_ON(1);
-               return;
-       }
-       if (cw_min <= 0)
-               cw_min = aCWmin;
-       if (cw_max <= 0)
-               cw_max = aCWmin;
-       bslots = b43_read16(dev, B43_MMIO_RNG) % cw_min;
+       bslots = b43_read16(dev, B43_MMIO_RNG) & p->cw_min;
 
        memset(&params, 0, sizeof(params));
 
        params[B43_QOSPARAM_TXOP] = p->txop * 32;
-       params[B43_QOSPARAM_CWMIN] = cw_min;
-       params[B43_QOSPARAM_CWMAX] = cw_max;
-       params[B43_QOSPARAM_CWCUR] = cw_min;
-       params[B43_QOSPARAM_AIFS] = aifs;
+       params[B43_QOSPARAM_CWMIN] = p->cw_min;
+       params[B43_QOSPARAM_CWMAX] = p->cw_max;
+       params[B43_QOSPARAM_CWCUR] = p->cw_min;
+       params[B43_QOSPARAM_AIFS] = p->aifs;
        params[B43_QOSPARAM_BSLOTS] = bslots;
-       params[B43_QOSPARAM_REGGAP] = bslots + aifs;
+       params[B43_QOSPARAM_REGGAP] = bslots + p->aifs;
 
        for (i = 0; i < ARRAY_SIZE(params); i++) {
                if (i == B43_QOSPARAM_STATUS) {
index 77af1df5d899f07e0e4abd69ff353eede8128d0d..f1dcbaa80c3c2415e3f2de1c7f88945d9cfbf09b 100644 (file)
@@ -554,10 +554,7 @@ int rt2x00mac_conf_tx(struct ieee80211_hw *hw, u16 queue_idx,
        else
                queue->cw_max = 10; /* cw_min: 2^10 = 1024. */
 
-       if (params->aifs >= 0)
-               queue->aifs = params->aifs;
-       else
-               queue->aifs = 2;
+       queue->aifs = params->aifs;
 
        INFO(rt2x00dev,
             "Configured TX queue %d - CWmin: %d, CWmax: %d, Aifs: %d.\n",