2020-11-25 11:42:49

by Ajay Singh

[permalink] [raw]
Subject: [PATCH 0/5] wilc1000: added WMM support and minor fixes

From: Ajay Singh <[email protected]>

The patch series include changes to add WMM support. Also few patches
to handle issues in failure path.

Ajay Singh (5):
wilc1000: added 'ndo_set_mac_address' callback support
wilc1000: free resource in wilc_wlan_txq_add_net_pkt() for failure
path
wilc1000: free resource in wilc_wlan_txq_add_mgmt_pkt() for failure
path
wilc1000: call complete() for failure in wilc_wlan_txq_add_cfg_pkt()
wilc1000: added queue support for WMM

.../wireless/microchip/wilc1000/cfg80211.c | 7 +-
drivers/net/wireless/microchip/wilc1000/hif.c | 17 +
drivers/net/wireless/microchip/wilc1000/hif.h | 1 +
.../net/wireless/microchip/wilc1000/netdev.c | 38 ++
.../net/wireless/microchip/wilc1000/netdev.h | 11 +-
.../net/wireless/microchip/wilc1000/wlan.c | 335 ++++++++++++++----
.../net/wireless/microchip/wilc1000/wlan.h | 30 ++
7 files changed, 373 insertions(+), 66 deletions(-)

--
2.24.0


2020-11-25 11:43:00

by Ajay Singh

[permalink] [raw]
Subject: [PATCH 4/5] wilc1000: call complete() for failure in wilc_wlan_txq_add_cfg_pkt()

From: Ajay Singh <[email protected]>

Added complete() call for failure case in wilc_wlan_txq_add_cfg_pkt().

Signed-off-by: Ajay Singh <[email protected]>
---
drivers/net/wireless/microchip/wilc1000/wlan.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c
index 42b5db4e2d81..0ff4de28f622 100644
--- a/drivers/net/wireless/microchip/wilc1000/wlan.c
+++ b/drivers/net/wireless/microchip/wilc1000/wlan.c
@@ -258,8 +258,10 @@ static int wilc_wlan_txq_add_cfg_pkt(struct wilc_vif *vif, u8 *buffer,
}

tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);
- if (!tqe)
+ if (!tqe) {
+ complete(&wilc->cfg_event);
return 0;
+ }

tqe->type = WILC_CFG_PKT;
tqe->buffer = buffer;
--
2.24.0

2020-11-25 11:43:12

by Ajay Singh

[permalink] [raw]
Subject: [PATCH 2/5] wilc1000: free resource in wilc_wlan_txq_add_net_pkt() for failure path

From: Ajay Singh <[email protected]>

Before returing from wilc_wlan_txq_add_net_pkt() invoke tx_complete_fn()
callback to free up allocated memory for failure cases.

Signed-off-by: Ajay Singh <[email protected]>
---
drivers/net/wireless/microchip/wilc1000/wlan.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c
index 6a82fb2f283e..f0cc2da7c9c7 100644
--- a/drivers/net/wireless/microchip/wilc1000/wlan.c
+++ b/drivers/net/wireless/microchip/wilc1000/wlan.c
@@ -284,13 +284,17 @@ int wilc_wlan_txq_add_net_pkt(struct net_device *dev, void *priv, u8 *buffer,

wilc = vif->wilc;

- if (wilc->quit)
+ if (wilc->quit) {
+ tx_complete_fn(priv, 0);
return 0;
+ }

tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);

- if (!tqe)
+ if (!tqe) {
+ tx_complete_fn(priv, 0);
return 0;
+ }
tqe->type = WILC_NET_PKT;
tqe->buffer = buffer;
tqe->buffer_size = buffer_size;
--
2.24.0