* [PATCH 1/4] mwifiex: fix potential integer truncation
@ 2015-12-16 12:21 Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 2/4] mwifiex: fix PCIe register information for 8997 chipset Amitkumar Karwar
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Amitkumar Karwar @ 2015-12-16 12:21 UTC (permalink / raw)
To: linux-wireless
Cc: Cathy Luo, Nishant Sarmukadam, chunfan chen, Amitkumar Karwar
From: chunfan chen <jeffc@marvell.com>
At some places, ie length is truncated from u16 to u8 while
storing it to driver's internal variable. This patch fixes
the problem.
Signed-off-by: chunfan chen <jeffc@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
drivers/net/wireless/marvell/mwifiex/main.h | 6 +++---
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h
index 0fa1d8e..2f7f478 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.h
+++ b/drivers/net/wireless/marvell/mwifiex/main.h
@@ -564,14 +564,14 @@ struct mwifiex_private {
struct mwifiex_wep_key wep_key[NUM_WEP_KEYS];
u16 wep_key_curr_index;
u8 wpa_ie[256];
- u8 wpa_ie_len;
+ u16 wpa_ie_len;
u8 wpa_is_gtk_set;
struct host_cmd_ds_802_11_key_material aes_key;
struct host_cmd_ds_802_11_key_material_v2 aes_key_v2;
u8 wapi_ie[256];
- u8 wapi_ie_len;
+ u16 wapi_ie_len;
u8 *wps_ie;
- u8 wps_ie_len;
+ u16 wps_ie_len;
u8 wmm_required;
u8 wmm_enabled;
u8 wmm_qosinfo;
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
index 439e73f..6a4fc5d 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
@@ -759,7 +759,7 @@ static int mwifiex_set_wpa_ie_helper(struct mwifiex_private *priv,
return -1;
}
memcpy(priv->wpa_ie, ie_data_ptr, ie_len);
- priv->wpa_ie_len = (u8) ie_len;
+ priv->wpa_ie_len = ie_len;
mwifiex_dbg(priv->adapter, CMD,
"cmd: Set Wpa_ie_len=%d IE=%#x\n",
priv->wpa_ie_len, priv->wpa_ie[0]);
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] mwifiex: fix PCIe register information for 8997 chipset
2015-12-16 12:21 [PATCH 1/4] mwifiex: fix potential integer truncation Amitkumar Karwar
@ 2015-12-16 12:21 ` Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 3/4] mwifiex: add missing check for PCIe8997 chipset Amitkumar Karwar
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Amitkumar Karwar @ 2015-12-16 12:21 UTC (permalink / raw)
To: linux-wireless
Cc: Cathy Luo, Nishant Sarmukadam, Amitkumar Karwar, Shengzhen Li
This patch corrects some information in mwifiex_pcie_card_reg()
structure for 8997 chipset
Fixes: 6d85ef00d9dfe ("mwifiex: add support for 8997 chipset")
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Shengzhen Li <szli@marvell.com>
---
drivers/net/wireless/marvell/mwifiex/pcie.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h
index 48e549c..7db46ee 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.h
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.h
@@ -210,17 +210,17 @@ static const struct mwifiex_pcie_card_reg mwifiex_reg_8997 = {
.cmdrsp_addr_lo = PCIE_SCRATCH_4_REG,
.cmdrsp_addr_hi = PCIE_SCRATCH_5_REG,
.tx_rdptr = 0xC1A4,
- .tx_wrptr = 0xC1A8,
- .rx_rdptr = 0xC1A8,
+ .tx_wrptr = 0xC174,
+ .rx_rdptr = 0xC174,
.rx_wrptr = 0xC1A4,
.evt_rdptr = PCIE_SCRATCH_10_REG,
.evt_wrptr = PCIE_SCRATCH_11_REG,
.drv_rdy = PCIE_SCRATCH_12_REG,
.tx_start_ptr = 16,
.tx_mask = 0x0FFF0000,
- .tx_wrap_mask = 0x01FF0000,
+ .tx_wrap_mask = 0x1FFF0000,
.rx_mask = 0x00000FFF,
- .rx_wrap_mask = 0x000001FF,
+ .rx_wrap_mask = 0x00001FFF,
.tx_rollover_ind = BIT(28),
.rx_rollover_ind = BIT(12),
.evt_rollover_ind = MWIFIEX_BD_FLAG_EVT_ROLLOVER_IND,
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] mwifiex: add missing check for PCIe8997 chipset
2015-12-16 12:21 [PATCH 1/4] mwifiex: fix potential integer truncation Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 2/4] mwifiex: fix PCIe register information for 8997 chipset Amitkumar Karwar
@ 2015-12-16 12:21 ` Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 4/4] mwifiex: enable MSI interrupt support in pcie Amitkumar Karwar
2015-12-30 15:32 ` [1/4] mwifiex: fix potential integer truncation Kalle Valo
3 siblings, 0 replies; 5+ messages in thread
From: Amitkumar Karwar @ 2015-12-16 12:21 UTC (permalink / raw)
To: linux-wireless; +Cc: Cathy Luo, Nishant Sarmukadam, Amitkumar Karwar
This patch ensures mwifiex_pcie_txbd_empty() does take care
of 8997 chipset.
Fixes: 6d85ef00d9dfe ("mwifiex: add support for 8997 chipset")
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
drivers/net/wireless/marvell/mwifiex/pcie.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h
index 7db46ee..347ba45 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.h
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.h
@@ -342,6 +342,7 @@ mwifiex_pcie_txbd_empty(struct pcie_service_card *card, u32 rdptr)
return 1;
break;
case PCIE_DEVICE_ID_MARVELL_88W8897:
+ case PCIE_DEVICE_ID_MARVELL_88W8997:
if (((card->txbd_wrptr & reg->tx_mask) ==
(rdptr & reg->tx_mask)) &&
((card->txbd_wrptr & reg->tx_rollover_ind) ==
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] mwifiex: enable MSI interrupt support in pcie
2015-12-16 12:21 [PATCH 1/4] mwifiex: fix potential integer truncation Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 2/4] mwifiex: fix PCIe register information for 8997 chipset Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 3/4] mwifiex: add missing check for PCIe8997 chipset Amitkumar Karwar
@ 2015-12-16 12:21 ` Amitkumar Karwar
2015-12-30 15:32 ` [1/4] mwifiex: fix potential integer truncation Kalle Valo
3 siblings, 0 replies; 5+ messages in thread
From: Amitkumar Karwar @ 2015-12-16 12:21 UTC (permalink / raw)
To: linux-wireless
Cc: Cathy Luo, Nishant Sarmukadam, Avinash Patil, Amitkumar Karwar
From: Avinash Patil <patila@marvell.com>
Newer pcie devices (8897 onwards) support MSI. This
patch enables it.
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
drivers/net/wireless/marvell/mwifiex/pcie.c | 33 ++++++++++++++++++++++-------
drivers/net/wireless/marvell/mwifiex/pcie.h | 1 +
2 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
index 21192b6..9703848 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -2599,6 +2599,30 @@ static void mwifiex_pcie_cleanup(struct mwifiex_adapter *adapter)
kfree(card);
}
+static int mwifiex_pcie_request_irq(struct mwifiex_adapter *adapter)
+{
+ int ret;
+ struct pcie_service_card *card = adapter->card;
+ struct pci_dev *pdev = card->dev;
+
+ if (pci_enable_msi(pdev) != 0)
+ pci_disable_msi(pdev);
+ else
+ card->msi_enable = 1;
+
+ mwifiex_dbg(adapter, INFO, "msi_enable = %d\n", card->msi_enable);
+
+ ret = request_irq(pdev->irq, mwifiex_pcie_interrupt, IRQF_SHARED,
+ "MRVL_PCIE", pdev);
+ if (ret) {
+ pr_err("request_irq failed: ret=%d\n", ret);
+ adapter->card = NULL;
+ return -1;
+ }
+
+ return 0;
+}
+
/*
* This function registers the PCIE device.
*
@@ -2606,21 +2630,14 @@ static void mwifiex_pcie_cleanup(struct mwifiex_adapter *adapter)
*/
static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
{
- int ret;
struct pcie_service_card *card = adapter->card;
struct pci_dev *pdev = card->dev;
/* save adapter pointer in card */
card->adapter = adapter;
- ret = request_irq(pdev->irq, mwifiex_pcie_interrupt, IRQF_SHARED,
- "MRVL_PCIE", pdev);
- if (ret) {
- mwifiex_dbg(adapter, ERROR,
- "request_irq failed: ret=%d\n", ret);
- adapter->card = NULL;
+ if (mwifiex_pcie_request_irq(adapter))
return -1;
- }
adapter->dev = &pdev->dev;
adapter->tx_buf_size = card->pcie.tx_buf_size;
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h
index 347ba45..6fc2873 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.h
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.h
@@ -326,6 +326,7 @@ struct pcie_service_card {
dma_addr_t sleep_cookie_pbase;
void __iomem *pci_mmap;
void __iomem *pci_mmap1;
+ int msi_enable;
};
static inline int
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [1/4] mwifiex: fix potential integer truncation
2015-12-16 12:21 [PATCH 1/4] mwifiex: fix potential integer truncation Amitkumar Karwar
` (2 preceding siblings ...)
2015-12-16 12:21 ` [PATCH 4/4] mwifiex: enable MSI interrupt support in pcie Amitkumar Karwar
@ 2015-12-30 15:32 ` Kalle Valo
3 siblings, 0 replies; 5+ messages in thread
From: Kalle Valo @ 2015-12-30 15:32 UTC (permalink / raw)
To: Amitkumar Karwar
Cc: linux-wireless, Cathy Luo, Nishant Sarmukadam, chunfan chen,
Amitkumar Karwar
> From: chunfan chen <jeffc@marvell.com>
>
> At some places, ie length is truncated from u16 to u8 while
> storing it to driver's internal variable. This patch fixes
> the problem.
>
> Signed-off-by: chunfan chen <jeffc@marvell.com>
> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Thanks, 4 patches applied to wireless-drivers-next.git:
1d8f5c138540 mwifiex: fix potential integer truncation
ce0c58d99841 mwifiex: fix PCIe register information for 8997 chipset
f3b35f280968 mwifiex: add missing check for PCIe8997 chipset
7be0f5b5e169 mwifiex: enable MSI interrupt support in pcie
Kalle Valo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-12-30 15:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-16 12:21 [PATCH 1/4] mwifiex: fix potential integer truncation Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 2/4] mwifiex: fix PCIe register information for 8997 chipset Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 3/4] mwifiex: add missing check for PCIe8997 chipset Amitkumar Karwar
2015-12-16 12:21 ` [PATCH 4/4] mwifiex: enable MSI interrupt support in pcie Amitkumar Karwar
2015-12-30 15:32 ` [1/4] mwifiex: fix potential integer truncation Kalle Valo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.