staging: vt6656: vnt_update_ifs set max_min based on short slot time.
authorMalcolm Priestley <tvboxspy@gmail.com>
Sat, 29 Apr 2017 12:03:42 +0000 (13:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 May 2017 05:41:58 +0000 (07:41 +0200)
Short slot time is controlled by mac80211 so there is no need to find
odfm rates.

Merge PK_TYPE_11B and PK_TYPE_11GA & PK_TYPE_11GB into one else and
switch on short slot time.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/card.c

index 0e5a993750995b11a564e7e5ab225511f7ba68d9..c61422ea8846e85fffeb4743ae60bfdda5578d25 100644 (file)
@@ -359,35 +359,18 @@ void vnt_update_ifs(struct vnt_private *priv)
                priv->sifs = C_SIFS_A;
                priv->difs = C_SIFS_A + 2 * C_SLOT_SHORT;
                max_min = 4;
-       } else if (priv->packet_type == PK_TYPE_11B) {
-               priv->slot = C_SLOT_LONG;
-               priv->sifs = C_SIFS_BG;
-               priv->difs = C_SIFS_BG + 2 * C_SLOT_LONG;
-               max_min = 5;
-       } else {/* PK_TYPE_11GA & PK_TYPE_11GB */
-               bool ofdm_rate = false;
-               unsigned int ii = 0;
-
+       } else {
                priv->sifs = C_SIFS_BG;
 
-               if (priv->short_slot_time)
+               if (priv->short_slot_time) {
                        priv->slot = C_SLOT_SHORT;
-               else
+                       max_min = 4;
+               } else {
                        priv->slot = C_SLOT_LONG;
-
-               priv->difs = C_SIFS_BG + 2 * priv->slot;
-
-               for (ii = RATE_54M; ii >= RATE_6M; ii--) {
-                       if (priv->basic_rates & ((u32)(0x1 << ii))) {
-                               ofdm_rate = true;
-                               break;
-                       }
+                       max_min = 5;
                }
 
-               if (ofdm_rate)
-                       max_min = 4;
-               else
-                       max_min = 5;
+               priv->difs = C_SIFS_BG + 2 * priv->slot;
        }
 
        priv->eifs = C_EIFS;