[OEM-B][SRU][PATCH 00/11] Redpine: upgrades to improve throughput and stability

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 00/11] Redpine: upgrades to improve throughput and stability

Shrirang Bagul
BugLink: https://bugs.launchpad.net/bugs/1782070

Several improvements for the Redpine RS9113 Wifi+BT combo-device on Dell
Edge 300X gateways using Ubuntu 18.04 Server based image.
Some of these upgrades/fixes are:

1. WoWLAN support from S3/S4 and S5.
2. Better radio throughput
3. Stable operation
   - fixes to mitigate issues during driver module loading/un-loading
   - panics when resuming from hibernation

This patch-set is based on Ubuntu-oem-4.15.0-1011.14

Amitkumar Karwar (1):
  rsi: fix error path handling in SDIO probe

Amol Hanwate (1):
  UBUNTU: SAUCE: rsi: Firmware assert (version 2)

Arnd Bergmann (1):
  Bluetooth: btrsi: rework dependencies

Ganapathi Raju (2):
  UBUNTU: SAUCE: rsi: Add debug support for wowlan wakeup confirmation
  UBUNTU: SAUCE: rsi: Fix for wowlan hibernate resume issue

Sanjay Kumar Konduri (1):
  rsi: Add null check for virtual interfaces in wowlan config

Siva Rebbagondla (5):
  UBUNTU: SAUCE: rsi: Fix for low throughput issue
  UBUNTU: SAUCE: rsi: Set wowlan flag while writing wowlan config
    parameters
  UBUNTU: SAUCE: rsi: Fix for WoWLAN wakeup in security mode.
  UBUNTU: SAUCE: rsi: Optimizing virtual interfaces
  UBUNTU: SAUCE: rsi: disable p2p device mode support

 drivers/bluetooth/Kconfig                   |  4 +--
 drivers/net/wireless/rsi/Kconfig            |  4 ++-
 drivers/net/wireless/rsi/rsi_91x_hal.c      |  2 +-
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 15 ++++++----
 drivers/net/wireless/rsi/rsi_91x_mgmt.c     | 31 ++++++++++++++++++++-
 drivers/net/wireless/rsi/rsi_91x_sdio.c     | 13 +++++----
 6 files changed, 52 insertions(+), 17 deletions(-)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 01/11] UBUNTU: SAUCE: rsi: Fix for low throughput issue

Shrirang Bagul
From: Siva Rebbagondla <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

During verification, we have observed low throughput rates with this
driver. This is because, Qos enable flag is overridden by sequence
number in the data descriptor frame.

Signed-off-by: Siva Rebbagondla <[hidden email]>
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_hal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_hal.c b/drivers/net/wireless/rsi/rsi_91x_hal.c
index 5e2fc7946fa9..5e5b4d42a36f 100644
--- a/drivers/net/wireless/rsi/rsi_91x_hal.c
+++ b/drivers/net/wireless/rsi/rsi_91x_hal.c
@@ -253,7 +253,7 @@ int rsi_prepare_data_desc(struct rsi_common *common, struct sk_buff *skb)
  }
  }
 
- data_desc->mac_flags = cpu_to_le16(seq_num & 0xfff);
+ data_desc->mac_flags |= cpu_to_le16(seq_num & 0xfff);
  data_desc->qid_tid = ((skb->priority & 0xf) |
       ((tx_params->tid & 0xf) << 4));
  data_desc->sta_id = tx_params->sta_id;
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 02/11] UBUNTU: SAUCE: rsi: Set wowlan flag while writing wowlan config parameters

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Siva Rebbagondla <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

As wowlan enable flag did not set, while writing wowlan parameters to
card using rsi_send_vap_dynamic_update, which results firmware is unable to
set wowlan configurations. Hence, setting wowlan flag before sending
parameters.

Signed-off-by: Siva Rebbagondla <[hidden email]>
Signed-off-by: Sushant Kumar Mishra <[hidden email]>
Signed-off-by: Kalle Valo <[hidden email]>
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index e38cbaf12f87..33f0df4030c9 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -1948,6 +1948,7 @@ int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan)
  return -EINVAL;
  }
 
+ common->wow_flags |= RSI_WOW_ENABLED;
  triggers = rsi_wow_map_triggers(common, wowlan);
  if (!triggers) {
  rsi_dbg(ERR_ZONE, "%s:No valid WoW triggers\n", __func__);
@@ -1972,7 +1973,6 @@ int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan)
 
  rx_filter_word = (ALLOW_DATA_ASSOC_PEER | DISALLOW_BEACONS);
  rsi_send_rx_filter_frame(common, rx_filter_word);
- common->wow_flags |= RSI_WOW_ENABLED;
 
  return 0;
 }
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 03/11] UBUNTU: SAUCE: rsi: Add debug support for wowlan wakeup confirmation

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Ganapathi Raju <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

When a wowlan magic-packet has received to wake up the device, currently
driver is not taking care of what kind of packet has received. This patch
will add debug support for wakeup reason in driver.

Signed-off-by: Ganapathi Raju <[hidden email]>
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mgmt.c | 29 +++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
index 550c9757d237..c3ff9f5dd048 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
@@ -2308,6 +2308,35 @@ int rsi_mgmt_pkt_recv(struct rsi_common *common, u8 *msg)
  return -1;
  rsi_send_beacon(common);
  break;
+ case WOWLAN_WAKEUP_REASON:
+ rsi_dbg(ERR_ZONE, "\n\nWakeup Type: %x\n", msg[15]);
+ switch (msg[15]) {
+ case RSI_UNICAST_MAGIC_PKT:
+ rsi_dbg(ERR_ZONE,
+ "*** Wakeup for Unicast magic packet ***\n");
+ break;
+ case RSI_BROADCAST_MAGICPKT:
+ rsi_dbg(ERR_ZONE,
+ "*** Wakeup for Broadcast magic packet ***\n");
+ break;
+ case RSI_EAPOL_PKT:
+ rsi_dbg(ERR_ZONE,
+ "*** Wakeup for GTK renewal ***\n");
+ break;
+ case RSI_DISCONNECT_PKT:
+ rsi_dbg(ERR_ZONE,
+ "*** Wakeup for Disconnect ***\n");
+ break;
+ case RSI_HW_BMISS_PKT:
+ rsi_dbg(ERR_ZONE,
+ "*** Wakeup for HW Beacon miss ***\n");
+ break;
+ default:
+ rsi_dbg(ERR_ZONE,
+ "##### Un-intentional Wakeup #####\n");
+ break;
+ }
+ break;
  case RX_DOT11_MGMT:
  return rsi_mgmt_pkt_to_core(common, msg, msg_len);
  default:
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 04/11] Bluetooth: btrsi: rework dependencies

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Arnd Bergmann <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

The linkage between the bluetooth driver and the wireless
driver is not defined properly, leading to build problems
such as:

warning: (BT_HCIRSI) selects RSI_COEX which has unmet direct dependencies
(NETDEVICES && WLAN && WLAN_VENDOR_RSI && BT_HCIRSI && RSI_91X)
drivers/net/wireless/rsi/rsi_91x_main.o: In function `rsi_read_pkt':
(.text+0x205): undefined reference to `rsi_bt_ops'

As the dependency is actually the reverse (RSI_91X uses
the BT_RSI driver, not the other way round), this changes
the dependency to match, and enables the bluetooth driver
from the RSI_COEX symbol.

Fixes: 38aa4da50483 ("Bluetooth: btrsi: add new rsi bluetooth driver")
Acked-by; Marcel Holtmann <[hidden email]>
Signed-off-by: Arnd Bergmann <[hidden email]>
Signed-off-by: Kalle Valo <[hidden email]>
(cherry picked from commit 255dd5b79d5474dad3ecebe99be7818684921abd)
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/bluetooth/Kconfig        | 4 +---
 drivers/net/wireless/rsi/Kconfig | 4 +++-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
index f72ce8c142a3..46294128380e 100644
--- a/drivers/bluetooth/Kconfig
+++ b/drivers/bluetooth/Kconfig
@@ -379,9 +379,7 @@ config BT_QCOMSMD
   kernel or say M to compile as a module.
 
 config BT_HCIRSI
- tristate "Redpine HCI support"
- default n
- select RSI_COEX
+ tristate
  help
   Redpine BT driver.
   This driver handles BT traffic from upper layers and pass
diff --git a/drivers/net/wireless/rsi/Kconfig b/drivers/net/wireless/rsi/Kconfig
index e6135ee35213..6bd42e163482 100644
--- a/drivers/net/wireless/rsi/Kconfig
+++ b/drivers/net/wireless/rsi/Kconfig
@@ -13,6 +13,7 @@ if WLAN_VENDOR_RSI
 
 config RSI_91X
  tristate "Redpine Signals Inc 91x WLAN driver support"
+ select BT_HCIRSI if RSI_COEX
  depends on MAC80211
  ---help---
   This option enabes support for RSI 1x1 devices.
@@ -44,7 +45,8 @@ config RSI_USB
 
 config RSI_COEX
  bool "Redpine Signals WLAN BT Coexistence support"
- depends on BT_HCIRSI && RSI_91X
+ depends on BT && RSI_91X
+ depends on !(BT=m && RSI_91X=y)
  default y
  ---help---
   This option enables the WLAN BT coex support in rsi drivers.
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 05/11] rsi: fix error path handling in SDIO probe

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Amitkumar Karwar <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

We miss to release IRQ in certain error path in SDIO probe which
causes following kernel panic. This patch corrects error path
handling

BUG: unable to handle kernel NULL pointer dereference at        (null)
IP:           (null)
PGD 0 P4D 0
Oops: 0010 [#1] SMP PTI
Call Trace:
 <IRQ>
 ? call_timer_fn+0x29/0x120
 ? run_timer_softirq+0x1da/0x420
 ? timer_interrupt+0x11/0x20
 ? __do_softirq+0xef/0x26e
 ? irq_exit+0xbe/0xd0
 ? do_IRQ+0x4a/0xc0
 ? common_interrupt+0xa2/0xa2
 </IRQ>
 ? cpuidle_enter_state+0x118/0x250
 ? do_idle+0x186/0x1e0
 ? cpu_startup_entry+0x6f/0x80
 ? start_kernel+0x47c/0x49c
 ? secondary_startup_64+0xa5/0xb0

Fixes: 50117605770c ("rsi: improve RX handling in SDIO interface")
Signed-off-by: Amitkumar Karwar <[hidden email]>
Signed-off-by: Kalle Valo <[hidden email]>
(cherry picked from commit 90b12aebe54b9157a28f5131203f48ad943ba79a)
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_sdio.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c
index a38580ef3c27..75f9b601cfd0 100644
--- a/drivers/net/wireless/rsi/rsi_91x_sdio.c
+++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c
@@ -988,7 +988,7 @@ static int rsi_probe(struct sdio_func *pfunction,
     rsi_sdio_rx_thread, "SDIO-RX-Thread");
  if (status) {
  rsi_dbg(ERR_ZONE, "%s: Unable to init rx thrd\n", __func__);
- goto fail_free_adapter;
+ goto fail_kill_thread;
  }
  skb_queue_head_init(&sdev->rx_q.head);
  sdev->rx_q.num_rx_pkts = 0;
@@ -998,7 +998,7 @@ static int rsi_probe(struct sdio_func *pfunction,
  rsi_dbg(ERR_ZONE, "%s: Failed to request IRQ\n", __func__);
  sdio_release_host(pfunction);
  status = -EIO;
- goto fail_kill_thread;
+ goto fail_claim_irq;
  }
  sdio_release_host(pfunction);
  rsi_dbg(INIT_ZONE, "%s: Registered Interrupt handler\n", __func__);
@@ -1006,7 +1006,7 @@ static int rsi_probe(struct sdio_func *pfunction,
  if (rsi_hal_device_init(adapter)) {
  rsi_dbg(ERR_ZONE, "%s: Failed in device init\n", __func__);
  status = -EINVAL;
- goto fail_kill_thread;
+ goto fail_dev_init;
  }
  rsi_dbg(INFO_ZONE, "===> RSI Device Init Done <===\n");
 
@@ -1023,10 +1023,13 @@ static int rsi_probe(struct sdio_func *pfunction,
 fail_dev_init:
  sdio_claim_host(pfunction);
  sdio_release_irq(pfunction);
- sdio_disable_func(pfunction);
  sdio_release_host(pfunction);
-fail_kill_thread:
+fail_claim_irq:
  rsi_kill_thread(&sdev->rx_thread);
+fail_kill_thread:
+ sdio_claim_host(pfunction);
+ sdio_disable_func(pfunction);
+ sdio_release_host(pfunction);
 fail_free_adapter:
  rsi_91x_deinit(adapter);
  rsi_dbg(ERR_ZONE, "%s: Failed in probe...Exiting\n", __func__);
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 06/11] rsi: Add null check for virtual interfaces in wowlan config

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Sanjay Kumar Konduri <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

When the "poweroff" command is executed after wowlan enabled, we have
observed a system crash. In the system "poweroff" sequence, network-manager
is sent to inactive state by cleaning up the network interfaces, using
rsi_mac80211_remove_interface() and when driver tries to access those
network interfaces in rsi_wowlan_config() which was invoked by SDIO
shutdown, results in a crash. Added a NULL check before accessing the
network interfaces in rsi_wowlan_config().

Signed-off-by: Sanjay Kumar Konduri <[hidden email]>
Signed-off-by: Siva Rebbagondla <[hidden email]>
Signed-off-by: Sushant Kumar Mishra <[hidden email]>
Signed-off-by: Kalle Valo <[hidden email]>
(backported from commit 54b5172087aeae61150835c91e68f084a9644f1c)
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index 33f0df4030c9..890790c5b1e4 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -1934,7 +1934,7 @@ int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan)
  struct rsi_common *common = adapter->priv;
  u16 triggers = 0;
  u16 rx_filter_word = 0;
- struct ieee80211_bss_conf *bss;
+ struct ieee80211_bss_conf *bss = NULL;
 
  rsi_dbg(INFO_ZONE, "Config WoWLAN to device\n");
 
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 07/11] UBUNTU: SAUCE: rsi: Fix for wowlan hibernate resume issue

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Ganapathi Raju <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

While resuming from hibernate, observed a system hang due to
a wait event for wlan initialization, which will not happen at this
instant, due to that an infinite wait is happening. Removed that
redundant wait event.

Signed-off-by: Ganapathi Raju <[hidden email]>
(cherry picked from commit 2b1b13a8bd8c2bd948c43825e4c578f2440bac24)
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index 890790c5b1e4..c9b71a9629f9 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -2008,8 +2008,7 @@ static int rsi_mac80211_resume(struct ieee80211_hw *hw)
 
  if (common->hibernate_resume) {
  common->mac_ops_resumed = true;
- if (common->reinit_hw)
- wait_for_completion(&common->wlan_init_completion);
+
  /* Device need a complete restart of all MAC operations.
  * returning 1 will serve this purpose.
  */
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 08/11] UBUNTU: SAUCE: rsi: Firmware assert (version 2)

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Amol Hanwate <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

Redpine submitted 2 different versions of patches with same subject
"rsi: Firmware assert".

ver. 1: https://bugs.launchpad.net/plano/+bug/1764972/comments/13
ver. 2: https://bugs.launchpad.net/plano/+bug/1771268/comments/11

This patch applies the diff between ver. 1 & 2.

Signed-off-by: Amol Hanwate <[hidden email]>
Signed-off-by: Ganapathi Raju <[hidden email]>
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index c9b71a9629f9..f73e582dafa2 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -272,7 +272,7 @@ static int rsi_mac80211_hw_scan_start(struct ieee80211_hw *hw,
  queue_work(common->scan_workqueue, &common->scan_work);
  } else {
  if (!rsi_send_bgscan_params(common, RSI_START_BGSCAN)) {
- if(scan_req > MAX_HW_SCAN_SSID) {
+ if(scan_req->n_ssids > MAX_HW_SCAN_SSID) {
  n = 0;
  cfg_ssid = &scan_req->ssids[n];
  rsi_dbg(INFO_ZONE, "handling only '%s'ssid of %d "
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 09/11] UBUNTU: SAUCE: rsi: Fix for WoWLAN wakeup in security mode.

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Siva Rebbagondla <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

System is unable to wake-up through magic-packet in secured connections.
Because key descriptor is getting corrupted and firmware is unable to
decrypt the magic packet. Fixed the issue by properly preparing it
before sending it to firmware.

Signed-off-by: Siva Rebbagondla <[hidden email]>
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mgmt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
index c3ff9f5dd048..5590a35c7559 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
@@ -778,7 +778,7 @@ int rsi_hal_load_key(struct rsi_common *common,
  key_descriptor |= RSI_CIPHER_TKIP;
  }
  key_descriptor |= RSI_PROTECT_DATA_FRAMES;
- key_descriptor |= ((key_id << RSI_KEY_ID_OFFSET) & RSI_KEY_ID_MASK);
+ key_descriptor |= (key_id << RSI_KEY_ID_OFFSET);
 
  rsi_set_len_qno(&set_key->desc_dword0.len_qno,
  (frame_len - FRAME_DESC_SZ), RSI_WIFI_MGMT_Q);
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 10/11] UBUNTU: SAUCE: rsi: Optimizing virtual interfaces

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Siva Rebbagondla <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

Due to multiple calls of add interface routine, vif is getting duplicated
and at certain instance, we are out of vifs, causing the driver to behave
abnormal.

Fix: Every vif has a unique mac-id, when we got a vif with same mac-id as
the previous id's, we will override the respective vif.

Signed-off-by: Siva Rebbagondla <[hidden email]>
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index f73e582dafa2..d7dbdf64863c 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -529,6 +529,10 @@ static int rsi_mac80211_add_interface(struct ieee80211_hw *hw,
  if (!adapter->vifs[i]) {
  vap_idx = i;
  break;
+ } else if (!memcmp(vif->addr, adapter->vifs[i]->addr,
+   ETH_ALEN)) {
+ vap_idx = i;
+ break;
  }
  }
  if (vap_idx < 0) {
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[OEM-B][SRU][PATCH 11/11] UBUNTU: SAUCE: rsi: disable p2p device mode support

Shrirang Bagul
In reply to this post by Shrirang Bagul
From: Siva Rebbagondla <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1782070

When p2p device is enabled, remove_interface callback is getting calling
from higher layer,which causes uneven behaiour in driver. Hence, p2p device
mode should be disabled in driver.

Signed-off-by: Siva Rebbagondla <[hidden email]>
(cherry picked from commit 98e9fd1d6a9702da061c916dc8078ea757dece4f)
Signed-off-by: Shrirang Bagul <[hidden email]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index d7dbdf64863c..be2c0eb6d04a 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -480,7 +480,7 @@ static int rsi_map_intf_mode(enum nl80211_iftype vif_type)
  case NL80211_IFTYPE_AP:
  return RSI_OPMODE_AP;
  case NL80211_IFTYPE_P2P_DEVICE:
- return RSI_OPMODE_P2P_CLIENT;
+ return RSI_OPMODE_UNSUPPORTED;
  case NL80211_IFTYPE_P2P_CLIENT:
  return RSI_OPMODE_P2P_CLIENT;
  case NL80211_IFTYPE_P2P_GO:
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK: [OEM-B][SRU][PATCH 00/11] Redpine: upgrades to improve throughput and stability

Anthony Wong-2
In reply to this post by Shrirang Bagul
On Tue, Jul 17, 2018 at 07:07:42PM +0800, Shrirang Bagul wrote:

> BugLink: https://bugs.launchpad.net/bugs/1782070
>
> Several improvements for the Redpine RS9113 Wifi+BT combo-device on Dell
> Edge 300X gateways using Ubuntu 18.04 Server based image.
> Some of these upgrades/fixes are:
>
> 1. WoWLAN support from S3/S4 and S5.
> 2. Better radio throughput
> 3. Stable operation
>    - fixes to mitigate issues during driver module loading/un-loading
>    - panics when resuming from hibernation
>
> This patch-set is based on Ubuntu-oem-4.15.0-1011.14
>
> Amitkumar Karwar (1):
>   rsi: fix error path handling in SDIO probe
>
> Amol Hanwate (1):
>   UBUNTU: SAUCE: rsi: Firmware assert (version 2)
>
> Arnd Bergmann (1):
>   Bluetooth: btrsi: rework dependencies
>
> Ganapathi Raju (2):
>   UBUNTU: SAUCE: rsi: Add debug support for wowlan wakeup confirmation
>   UBUNTU: SAUCE: rsi: Fix for wowlan hibernate resume issue
>
> Sanjay Kumar Konduri (1):
>   rsi: Add null check for virtual interfaces in wowlan config
>
> Siva Rebbagondla (5):
>   UBUNTU: SAUCE: rsi: Fix for low throughput issue
>   UBUNTU: SAUCE: rsi: Set wowlan flag while writing wowlan config
>     parameters
>   UBUNTU: SAUCE: rsi: Fix for WoWLAN wakeup in security mode.
>   UBUNTU: SAUCE: rsi: Optimizing virtual interfaces
>   UBUNTU: SAUCE: rsi: disable p2p device mode support
>
>  drivers/bluetooth/Kconfig                   |  4 +--
>  drivers/net/wireless/rsi/Kconfig            |  4 ++-
>  drivers/net/wireless/rsi/rsi_91x_hal.c      |  2 +-
>  drivers/net/wireless/rsi/rsi_91x_mac80211.c | 15 ++++++----
>  drivers/net/wireless/rsi/rsi_91x_mgmt.c     | 31 ++++++++++++++++++++-
>  drivers/net/wireless/rsi/rsi_91x_sdio.c     | 13 +++++----
>  6 files changed, 52 insertions(+), 17 deletions(-)

Changes limited to the redpine driver and has been verified by QA, so

Acked-by: Anthony Wong <[hidden email]>

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK: [OEM-B][SRU][PATCH 00/11] Redpine: upgrades to improve throughput and stability

AceLan Kao
In reply to this post by Shrirang Bagul
Acked-By: AceLan Kao <[hidden email]>

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team