summaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2016-09-29 09:48:09 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2016-09-29 10:32:41 +0200
commitc795794eef8737f6272b2acce9025807af52da81 (patch)
treee827cc19dc4d140021b84dae65e2ea28eb090d5d /package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch
parent71144844e109bbf0ef62984eeadabbf5702a1cee (diff)
downloadmaster-31e0f0ae-c795794eef8737f6272b2acce9025807af52da81.tar.gz
master-31e0f0ae-c795794eef8737f6272b2acce9025807af52da81.tar.bz2
master-31e0f0ae-c795794eef8737f6272b2acce9025807af52da81.zip
mac80211: use upstream patches for rtl8xxxu
Also improves rtl8188eu support. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch')
-rw-r--r--package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch164
1 files changed, 0 insertions, 164 deletions
diff --git a/package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch b/package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch
deleted file mode 100644
index 4d9bd43b18..0000000000
--- a/package/kernel/mac80211/patches/650-0007-rtl8xxxu-Move-skb-delivery-into-parse_tx_desc-handle.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 83bb21c65c73a5250504e6056e29683339fb15d2 Mon Sep 17 00:00:00 2001
-From: Jes Sorensen <Jes.Sorensen@redhat.com>
-Date: Mon, 16 May 2016 22:03:04 -0400
-Subject: [PATCH] rtl8xxxu: Move skb delivery into parse_tx_desc() handler
-
-This is another prepatory patch to be able to handle aggregated RX
-packets.
-
-In order to avoid adding a prototype, this also moves the
-rtl8723bu_handle_c2h() function.
-
-Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
----
- .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 104 ++++++++++-----------
- 1 file changed, 50 insertions(+), 54 deletions(-)
-
---- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
-+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
-@@ -5045,6 +5045,51 @@ static void rtl8xxxu_rx_urb_work(struct
- }
- }
-
-+static void rtl8723bu_handle_c2h(struct rtl8xxxu_priv *priv,
-+ struct sk_buff *skb)
-+{
-+ struct rtl8723bu_c2h *c2h = (struct rtl8723bu_c2h *)skb->data;
-+ struct device *dev = &priv->udev->dev;
-+ int len;
-+
-+ len = skb->len - 2;
-+
-+ dev_dbg(dev, "C2H ID %02x seq %02x, len %02x source %02x\n",
-+ c2h->id, c2h->seq, len, c2h->bt_info.response_source);
-+
-+ switch(c2h->id) {
-+ case C2H_8723B_BT_INFO:
-+ if (c2h->bt_info.response_source >
-+ BT_INFO_SRC_8723B_BT_ACTIVE_SEND)
-+ dev_dbg(dev, "C2H_BT_INFO WiFi only firmware\n");
-+ else
-+ dev_dbg(dev, "C2H_BT_INFO BT/WiFi coexist firmware\n");
-+
-+ if (c2h->bt_info.bt_has_reset)
-+ dev_dbg(dev, "BT has been reset\n");
-+ if (c2h->bt_info.tx_rx_mask)
-+ dev_dbg(dev, "BT TRx mask\n");
-+
-+ break;
-+ case C2H_8723B_BT_MP_INFO:
-+ dev_dbg(dev, "C2H_MP_INFO ext ID %02x, status %02x\n",
-+ c2h->bt_mp_info.ext_id, c2h->bt_mp_info.status);
-+ break;
-+ case C2H_8723B_RA_REPORT:
-+ dev_dbg(dev,
-+ "C2H RA RPT: rate %02x, unk %i, macid %02x, noise %i\n",
-+ c2h->ra_report.rate, c2h->ra_report.dummy0_0,
-+ c2h->ra_report.macid, c2h->ra_report.noisy_state);
-+ break;
-+ default:
-+ dev_info(dev, "Unhandled C2H event %02x seq %02x\n",
-+ c2h->id, c2h->seq);
-+ print_hex_dump(KERN_INFO, "C2H content: ", DUMP_PREFIX_NONE,
-+ 16, 1, c2h->raw.payload, len, false);
-+ break;
-+ }
-+}
-+
- int rtl8xxxu_parse_rxdesc16(struct rtl8xxxu_priv *priv, struct sk_buff *skb,
- struct ieee80211_rx_status *rx_status)
- {
-@@ -5094,6 +5139,7 @@ int rtl8xxxu_parse_rxdesc16(struct rtl8x
- rx_status->freq = hw->conf.chandef.chan->center_freq;
- rx_status->band = hw->conf.chandef.chan->band;
-
-+ ieee80211_rx_irqsafe(hw, skb);
- return RX_TYPE_DATA_PKT;
- }
-
-@@ -5125,6 +5171,8 @@ int rtl8xxxu_parse_rxdesc24(struct rtl8x
- if (rx_desc->rpt_sel) {
- struct device *dev = &priv->udev->dev;
- dev_dbg(dev, "%s: C2H packet\n", __func__);
-+ rtl8723bu_handle_c2h(priv, skb);
-+ dev_kfree_skb(skb);
- return RX_TYPE_C2H;
- }
-
-@@ -5152,54 +5200,10 @@ int rtl8xxxu_parse_rxdesc24(struct rtl8x
- rx_status->freq = hw->conf.chandef.chan->center_freq;
- rx_status->band = hw->conf.chandef.chan->band;
-
-+ ieee80211_rx_irqsafe(hw, skb);
- return RX_TYPE_DATA_PKT;
- }
-
--static void rtl8723bu_handle_c2h(struct rtl8xxxu_priv *priv,
-- struct sk_buff *skb)
--{
-- struct rtl8723bu_c2h *c2h = (struct rtl8723bu_c2h *)skb->data;
-- struct device *dev = &priv->udev->dev;
-- int len;
--
-- len = skb->len - 2;
--
-- dev_dbg(dev, "C2H ID %02x seq %02x, len %02x source %02x\n",
-- c2h->id, c2h->seq, len, c2h->bt_info.response_source);
--
-- switch(c2h->id) {
-- case C2H_8723B_BT_INFO:
-- if (c2h->bt_info.response_source >
-- BT_INFO_SRC_8723B_BT_ACTIVE_SEND)
-- dev_dbg(dev, "C2H_BT_INFO WiFi only firmware\n");
-- else
-- dev_dbg(dev, "C2H_BT_INFO BT/WiFi coexist firmware\n");
--
-- if (c2h->bt_info.bt_has_reset)
-- dev_dbg(dev, "BT has been reset\n");
-- if (c2h->bt_info.tx_rx_mask)
-- dev_dbg(dev, "BT TRx mask\n");
--
-- break;
-- case C2H_8723B_BT_MP_INFO:
-- dev_dbg(dev, "C2H_MP_INFO ext ID %02x, status %02x\n",
-- c2h->bt_mp_info.ext_id, c2h->bt_mp_info.status);
-- break;
-- case C2H_8723B_RA_REPORT:
-- dev_dbg(dev,
-- "C2H RA RPT: rate %02x, unk %i, macid %02x, noise %i\n",
-- c2h->ra_report.rate, c2h->ra_report.dummy0_0,
-- c2h->ra_report.macid, c2h->ra_report.noisy_state);
-- break;
-- default:
-- dev_info(dev, "Unhandled C2H event %02x seq %02x\n",
-- c2h->id, c2h->seq);
-- print_hex_dump(KERN_INFO, "C2H content: ", DUMP_PREFIX_NONE,
-- 16, 1, c2h->raw.payload, len, false);
-- break;
-- }
--}
--
- static void rtl8xxxu_rx_complete(struct urb *urb)
- {
- struct rtl8xxxu_rx_urb *rx_urb =
-@@ -5209,19 +5213,11 @@ static void rtl8xxxu_rx_complete(struct
- struct sk_buff *skb = (struct sk_buff *)urb->context;
- struct ieee80211_rx_status *rx_status = IEEE80211_SKB_RXCB(skb);
- struct device *dev = &priv->udev->dev;
-- int rx_type;
-
- skb_put(skb, urb->actual_length);
-
- if (urb->status == 0) {
-- rx_type = priv->fops->parse_rx_desc(priv, skb, rx_status);
--
-- if (rx_type == RX_TYPE_DATA_PKT)
-- ieee80211_rx_irqsafe(hw, skb);
-- else {
-- rtl8723bu_handle_c2h(priv, skb);
-- dev_kfree_skb(skb);
-- }
-+ priv->fops->parse_rx_desc(priv, skb, rx_status);
-
- skb = NULL;
- rx_urb->urb.context = NULL;