]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
staging: vt6656: Simplify RX finding bit rates
authorMalcolm Priestley <tvboxspy@gmail.com>
Sun, 19 Jan 2020 12:02:24 +0000 (12:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jan 2020 08:52:38 +0000 (09:52 +0100)
The bit rate can be found by multiplying the rate value by 5.

Use rx_bitrate to compared to sband bitrates removing the need
to find it by hw_value.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Link: https://lore.kernel.org/r/50d3c4b8-6d17-4fae-ce9c-88a50614450f@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/device.h
drivers/staging/vt6656/dpc.c

index e2fabe818b19bfdf25297dcbc7843a88c5a7b677..2f6567d92b835e57979479e4e6f97a95924ed665 100644 (file)
@@ -264,7 +264,6 @@ struct vnt_private {
        struct usb_interface *intf;
 
        u64 tsf_time;
-       u8 rx_rate;
 
        u32 rx_buf_sz;
        int mc_list_count;
index 2bcb29b118835d46279555b63fc8245af15ba9bb..a55e2f6b09e335ab8fe02f9207118989f1e90830 100644 (file)
@@ -35,14 +35,13 @@ int vnt_rx_data(struct vnt_private *priv, struct vnt_rcb *ptr_rcb,
        u8 *rsr, *new_rsr, *rssi;
        __le64 *tsf_time;
        u32 frame_size;
-       int ii, r;
-       u8 *rx_rate, *sq, *sq_3;
+       int ii;
+       u8 *sq, *sq_3;
        u32 wbk_status;
        u8 *skb_data;
        u16 *pay_load_len;
-       u16 pay_load_with_padding;
+       u16 rx_bitrate, pay_load_with_padding;
        u8 rate_idx = 0;
-       u8 rate[MAX_RATE] = {2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108};
        long rx_dbm;
 
        skb = ptr_rcb->skb;
@@ -66,8 +65,6 @@ int vnt_rx_data(struct vnt_private *priv, struct vnt_rcb *ptr_rcb,
 
        skb_data = (u8 *)skb->data;
 
-       rx_rate = skb_data + 5;
-
        /* real Frame Size = USBframe_size -4WbkStatus - 4RxStatus */
        /* -8TSF - 4RSR - 4SQ3 - ?Padding */
 
@@ -85,23 +82,17 @@ int vnt_rx_data(struct vnt_private *priv, struct vnt_rcb *ptr_rcb,
        }
 
        sband = hw->wiphy->bands[hw->conf.chandef.chan->band];
-
-       for (r = RATE_1M; r < MAX_RATE; r++) {
-               if (*rx_rate == rate[r])
-                       break;
-       }
-
-       priv->rx_rate = r;
+       rx_bitrate = *(skb_data + 5) * 5; /* rx_rate * 5 */
 
        for (ii = 0; ii < sband->n_bitrates; ii++) {
-               if (sband->bitrates[ii].hw_value == r) {
+               if (sband->bitrates[ii].bitrate == rx_bitrate) {
                        rate_idx = ii;
                                break;
                }
        }
 
        if (ii == sband->n_bitrates) {
-               dev_dbg(&priv->usb->dev, "Wrong RxRate %x\n", *rx_rate);
+               dev_dbg(&priv->usb->dev, "Wrong Rx Bit Rate %d\n", rx_bitrate);
                return false;
        }