Commit 70d9f405 authored by Larry Finger's avatar Larry Finger Committed by John W. Linville
Browse files

rtl8187: Remove deprecated 'qual' from returned RX status



The qual member of ieee80211_rx_status is deprecated. As a result, this
driver no longer needs to calculate a quality value.

Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Acked-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 715caaeb
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -119,7 +119,6 @@ struct rtl8187_priv {
	} hw_rev;
	struct sk_buff_head rx_queue;
	u8 signal;
	u8 quality;
	u8 noise;
	u8 slot_time;
	u8 aifsn[4];
+3 −10
Original line number Diff line number Diff line
@@ -320,7 +320,6 @@ static void rtl8187_rx_cb(struct urb *urb)
	struct ieee80211_rx_status rx_status = { 0 };
	int rate, signal;
	u32 flags;
	u32 quality;
	unsigned long f;

	spin_lock_irqsave(&priv->rx_queue.lock, f);
@@ -338,10 +337,9 @@ static void rtl8187_rx_cb(struct urb *urb)
			(typeof(hdr))(skb_tail_pointer(skb) - sizeof(*hdr));
		flags = le32_to_cpu(hdr->flags);
		/* As with the RTL8187B below, the AGC is used to calculate
		 * signal strength and quality. In this case, the scaling
		 * signal strength. In this case, the scaling
		 * constants are derived from the output of p54usb.
		 */
		quality = 130 - ((41 * hdr->agc) >> 6);
		signal = -4 - ((27 * hdr->agc) >> 6);
		rx_status.antenna = (hdr->signal >> 7) & 1;
		rx_status.mactime = le64_to_cpu(hdr->mac_time);
@@ -354,23 +352,18 @@ static void rtl8187_rx_cb(struct urb *urb)
		 * In testing, none of these quantities show qualitative
		 * agreement with AP signal strength, except for the AGC,
		 * which is inversely proportional to the strength of the
		 * signal. In the following, the quality and signal strength
		 * are derived from the AGC. The arbitrary scaling constants
		 * signal. In the following, the signal strength
		 * is derived from the AGC. The arbitrary scaling constants
		 * are chosen to make the results close to the values obtained
		 * for a BCM4312 using b43 as the driver. The noise is ignored
		 * for now.
		 */
		flags = le32_to_cpu(hdr->flags);
		quality = 170 - hdr->agc;
		signal = 14 - hdr->agc / 2;
		rx_status.antenna = (hdr->rssi >> 7) & 1;
		rx_status.mactime = le64_to_cpu(hdr->mac_time);
	}

	if (quality > 100)
		quality = 100;
	rx_status.qual = quality;
	priv->quality = quality;
	rx_status.signal = signal;
	priv->signal = signal;
	rate = (flags >> 20) & 0xF;