* [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check @ 2017-03-30 9:19 Xinming Hu 2017-03-30 9:19 ` [PATCH 2/3] mwifiex: using general print function during device intialization Xinming Hu ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Xinming Hu @ 2017-03-30 9:19 UTC (permalink / raw) To: Linux Wireless Cc: Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Amitkumar Karwar, Cathy Luo, Xinming Hu From: Xinming Hu <huxm@marvell.com> Sanity check of interrupt number in interrupt handler is unnecessary and confusion, remove it. Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> --- drivers/net/wireless/marvell/mwifiex/main.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c index 30f4994..5e82602 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -1503,11 +1503,9 @@ static irqreturn_t mwifiex_irq_wakeup_handler(int irq, void *priv) { struct mwifiex_adapter *adapter = priv; - if (adapter->irq_wakeup >= 0) { - dev_dbg(adapter->dev, "%s: wake by wifi", __func__); - adapter->wake_by_wifi = true; - disable_irq_nosync(irq); - } + dev_dbg(adapter->dev, "%s: wake by wifi", __func__); + adapter->wake_by_wifi = true; + disable_irq_nosync(irq); /* Notify PM core we are wakeup source */ pm_wakeup_event(adapter->dev, 0); -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] mwifiex: using general print function during device intialization 2017-03-30 9:19 [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Xinming Hu @ 2017-03-30 9:19 ` Xinming Hu 2017-03-31 22:46 ` Dmitry Torokhov 2017-03-30 9:19 ` [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name Xinming Hu 2017-03-31 22:37 ` [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Dmitry Torokhov 2 siblings, 1 reply; 16+ messages in thread From: Xinming Hu @ 2017-03-30 9:19 UTC (permalink / raw) To: Linux Wireless Cc: Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Amitkumar Karwar, Cathy Luo, Xinming Hu From: Xinming Hu <huxm@marvell.com> adapter->dev is initialized after mwifiex_register done, before that print message by general pr_* function Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> --- drivers/net/wireless/marvell/mwifiex/pcie.c | 78 ++++++++++++----------------- drivers/net/wireless/marvell/mwifiex/sdio.c | 3 +- 2 files changed, 34 insertions(+), 47 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c index e381def..59cb01a 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c @@ -60,7 +60,7 @@ static int mwifiex_pcie_probe_of(struct device *dev) mapping.addr = pci_map_single(card->dev, skb->data, size, flags); if (pci_dma_mapping_error(card->dev, mapping.addr)) { - mwifiex_dbg(adapter, ERROR, "failed to map pci memory!\n"); + pr_err("failed to map pci memory!\n"); return -1; } mapping.len = size; @@ -594,7 +594,7 @@ static int mwifiex_init_rxq_ring(struct mwifiex_adapter *adapter) skb = mwifiex_alloc_dma_align_buf(MWIFIEX_RX_DATA_BUF_SIZE, GFP_KERNEL); if (!skb) { - mwifiex_dbg(adapter, ERROR, + pr_err( "Unable to allocate skb for RX ring.\n"); kfree(card->rxbd_ring_vbase); return -ENOMEM; @@ -651,8 +651,7 @@ static int mwifiex_pcie_init_evt_ring(struct mwifiex_adapter *adapter) /* Allocate skb here so that firmware can DMA data from it */ skb = dev_alloc_skb(MAX_EVENT_SIZE); if (!skb) { - mwifiex_dbg(adapter, ERROR, - "Unable to allocate skb for EVENT buf.\n"); + pr_err("Unable to allocate skb for EVENT buf.\n"); kfree(card->evtbd_ring_vbase); return -ENOMEM; } @@ -818,16 +817,14 @@ static int mwifiex_pcie_create_txbd_ring(struct mwifiex_adapter *adapter) card->txbd_ring_size, &card->txbd_ring_pbase); if (!card->txbd_ring_vbase) { - mwifiex_dbg(adapter, ERROR, - "allocate consistent memory (%d bytes) failed!\n", - card->txbd_ring_size); + pr_err("allocate consistent memory (%d bytes) failed!\n", + card->txbd_ring_size); return -ENOMEM; } - mwifiex_dbg(adapter, DATA, - "info: txbd_ring - base: %p, pbase: %#x:%x, len: %x\n", - card->txbd_ring_vbase, (unsigned int)card->txbd_ring_pbase, - (u32)((u64)card->txbd_ring_pbase >> 32), - card->txbd_ring_size); + pr_notice("info: txbd_ring - base: %p, pbase: %#x:%x, len: %x\n", + card->txbd_ring_vbase, (unsigned int)card->txbd_ring_pbase, + (u32)((u64)card->txbd_ring_pbase >> 32), + card->txbd_ring_size); return mwifiex_init_txq_ring(adapter); } @@ -875,24 +872,21 @@ static int mwifiex_pcie_create_rxbd_ring(struct mwifiex_adapter *adapter) card->rxbd_ring_size = sizeof(struct mwifiex_pcie_buf_desc) * MWIFIEX_MAX_TXRX_BD; - mwifiex_dbg(adapter, INFO, - "info: rxbd_ring: Allocating %d bytes\n", - card->rxbd_ring_size); + pr_info("info: rxbd_ring: Allocating %d bytes\n", + card->rxbd_ring_size); card->rxbd_ring_vbase = pci_alloc_consistent(card->dev, card->rxbd_ring_size, &card->rxbd_ring_pbase); if (!card->rxbd_ring_vbase) { - mwifiex_dbg(adapter, ERROR, - "allocate consistent memory (%d bytes) failed!\n", - card->rxbd_ring_size); + pr_err("allocate consistent memory (%d bytes) failed!\n", + card->rxbd_ring_size); return -ENOMEM; } - mwifiex_dbg(adapter, DATA, - "info: rxbd_ring - base: %p, pbase: %#x:%x, len: %#x\n", - card->rxbd_ring_vbase, (u32)card->rxbd_ring_pbase, - (u32)((u64)card->rxbd_ring_pbase >> 32), - card->rxbd_ring_size); + pr_notice("info: rxbd_ring - base: %p, pbase: %#x:%x, len: %#x\n", + card->rxbd_ring_vbase, (u32)card->rxbd_ring_pbase, + (u32)((u64)card->rxbd_ring_pbase >> 32), + card->rxbd_ring_size); return mwifiex_init_rxq_ring(adapter); } @@ -939,24 +933,21 @@ static int mwifiex_pcie_create_evtbd_ring(struct mwifiex_adapter *adapter) card->evtbd_ring_size = sizeof(struct mwifiex_evt_buf_desc) * MWIFIEX_MAX_EVT_BD; - mwifiex_dbg(adapter, INFO, - "info: evtbd_ring: Allocating %d bytes\n", + pr_info("info: evtbd_ring: Allocating %d bytes\n", card->evtbd_ring_size); card->evtbd_ring_vbase = pci_alloc_consistent(card->dev, card->evtbd_ring_size, &card->evtbd_ring_pbase); if (!card->evtbd_ring_vbase) { - mwifiex_dbg(adapter, ERROR, - "allocate consistent memory (%d bytes) failed!\n", - card->evtbd_ring_size); + pr_err("allocate consistent memory (%d bytes) failed!\n", + card->evtbd_ring_size); return -ENOMEM; } - mwifiex_dbg(adapter, EVENT, - "info: CMDRSP/EVT bd_ring - base: %p pbase: %#x:%x len: %#x\n", - card->evtbd_ring_vbase, (u32)card->evtbd_ring_pbase, - (u32)((u64)card->evtbd_ring_pbase >> 32), - card->evtbd_ring_size); + pr_notice("info: CMDRSP/EVT bd_ring - base: %p pbase: %#x:%x len: %#x\n", + card->evtbd_ring_vbase, (u32)card->evtbd_ring_pbase, + (u32)((u64)card->evtbd_ring_pbase >> 32), + card->evtbd_ring_size); return mwifiex_pcie_init_evt_ring(adapter); } @@ -995,8 +986,7 @@ static int mwifiex_pcie_alloc_cmdrsp_buf(struct mwifiex_adapter *adapter) /* Allocate memory for receiving command response data */ skb = dev_alloc_skb(MWIFIEX_UPLD_SIZE); if (!skb) { - mwifiex_dbg(adapter, ERROR, - "Unable to allocate skb for command response data.\n"); + pr_err("Unable to allocate skb for command response data.\n"); return -ENOMEM; } skb_put(skb, MWIFIEX_UPLD_SIZE); @@ -1045,17 +1035,15 @@ static int mwifiex_pcie_alloc_sleep_cookie_buf(struct mwifiex_adapter *adapter) card->sleep_cookie_vbase = pci_alloc_consistent(card->dev, sizeof(u32), &card->sleep_cookie_pbase); if (!card->sleep_cookie_vbase) { - mwifiex_dbg(adapter, ERROR, - "pci_alloc_consistent failed!\n"); + pr_err("pci_alloc_consistent failed!\n"); return -ENOMEM; } /* Init val of Sleep Cookie */ tmp = FW_AWAKE_COOKIE; put_unaligned(tmp, card->sleep_cookie_vbase); - mwifiex_dbg(adapter, INFO, - "alloc_scook: sleep cookie=0x%x\n", - get_unaligned(card->sleep_cookie_vbase)); + pr_info("alloc_scook: sleep cookie=0x%x\n", + get_unaligned(card->sleep_cookie_vbase)); return 0; } @@ -3069,32 +3057,32 @@ static void mwifiex_pcie_up_dev(struct mwifiex_adapter *adapter) card->cmdrsp_buf = NULL; ret = mwifiex_pcie_create_txbd_ring(adapter); if (ret) { - mwifiex_dbg(adapter, ERROR, "Failed to create txbd ring\n"); + pr_err("Failed to create txbd ring\n"); goto err_cre_txbd; } ret = mwifiex_pcie_create_rxbd_ring(adapter); if (ret) { - mwifiex_dbg(adapter, ERROR, "Failed to create rxbd ring\n"); + pr_err("Failed to create rxbd ring\n"); goto err_cre_rxbd; } ret = mwifiex_pcie_create_evtbd_ring(adapter); if (ret) { - mwifiex_dbg(adapter, ERROR, "Failed to create evtbd ring\n"); + pr_err("Failed to create evtbd ring\n"); goto err_cre_evtbd; } ret = mwifiex_pcie_alloc_cmdrsp_buf(adapter); if (ret) { - mwifiex_dbg(adapter, ERROR, "Failed to allocate cmdbuf buffer\n"); + pr_err("Failed to allocate cmdbuf buffer\n"); goto err_alloc_cmdbuf; } if (reg->sleep_cookie) { ret = mwifiex_pcie_alloc_sleep_cookie_buf(adapter); if (ret) { - mwifiex_dbg(adapter, ERROR, "Failed to allocate sleep_cookie buffer\n"); + pr_err("Failed to allocate sleep_cookie buffer\n"); goto err_alloc_cookie; } } else { diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c index 58d3da0..596282e 100644 --- a/drivers/net/wireless/marvell/mwifiex/sdio.c +++ b/drivers/net/wireless/marvell/mwifiex/sdio.c @@ -631,8 +631,7 @@ static int mwifiex_init_sdio_ioport(struct mwifiex_adapter *adapter) else return -1; cont: - mwifiex_dbg(adapter, INFO, - "info: SDIO FUNC1 IO port: %#x\n", adapter->ioport); + pr_info("info: SDIO FUNC1 IO port: %#x\n", adapter->ioport); /* Set Host interrupt reset to read to clear */ if (!mwifiex_read_reg(adapter, card->reg->host_int_rsr_reg, ®)) -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] mwifiex: using general print function during device intialization 2017-03-30 9:19 ` [PATCH 2/3] mwifiex: using general print function during device intialization Xinming Hu @ 2017-03-31 22:46 ` Dmitry Torokhov 2017-04-03 18:42 ` Brian Norris 0 siblings, 1 reply; 16+ messages in thread From: Dmitry Torokhov @ 2017-03-31 22:46 UTC (permalink / raw) To: Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Rajat Jain, Amitkumar Karwar, Cathy Luo, Xinming Hu On Thu, Mar 30, 2017 at 2:19 AM, Xinming Hu <huxinming820@gmail.com> wrote: > From: Xinming Hu <huxm@marvell.com> > > adapter->dev is initialized after mwifiex_register done, before that > print message by general pr_* function No, we should move away from naked pr_*() as much as possible. Please change mwifiex_register() to accept "dev" parameter and assign adapter->dev early enough so that the standard mwifiex_err() calls are usable. Also consider changing _mwifiex_dbg() to handle cases when adapter->dev is NULL and fall back to pr_<level>. > > Signed-off-by: Xinming Hu <huxm@marvell.com> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > --- > drivers/net/wireless/marvell/mwifiex/pcie.c | 78 ++++++++++++----------------- > drivers/net/wireless/marvell/mwifiex/sdio.c | 3 +- > 2 files changed, 34 insertions(+), 47 deletions(-) > > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c > index e381def..59cb01a 100644 > --- a/drivers/net/wireless/marvell/mwifiex/pcie.c > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c > @@ -60,7 +60,7 @@ static int mwifiex_pcie_probe_of(struct device *dev) > > mapping.addr = pci_map_single(card->dev, skb->data, size, flags); > if (pci_dma_mapping_error(card->dev, mapping.addr)) { > - mwifiex_dbg(adapter, ERROR, "failed to map pci memory!\n"); > + pr_err("failed to map pci memory!\n"); > return -1; > } > mapping.len = size; > @@ -594,7 +594,7 @@ static int mwifiex_init_rxq_ring(struct mwifiex_adapter *adapter) > skb = mwifiex_alloc_dma_align_buf(MWIFIEX_RX_DATA_BUF_SIZE, > GFP_KERNEL); > if (!skb) { > - mwifiex_dbg(adapter, ERROR, > + pr_err( > "Unable to allocate skb for RX ring.\n"); > kfree(card->rxbd_ring_vbase); > return -ENOMEM; > @@ -651,8 +651,7 @@ static int mwifiex_pcie_init_evt_ring(struct mwifiex_adapter *adapter) > /* Allocate skb here so that firmware can DMA data from it */ > skb = dev_alloc_skb(MAX_EVENT_SIZE); > if (!skb) { > - mwifiex_dbg(adapter, ERROR, > - "Unable to allocate skb for EVENT buf.\n"); > + pr_err("Unable to allocate skb for EVENT buf.\n"); > kfree(card->evtbd_ring_vbase); > return -ENOMEM; > } > @@ -818,16 +817,14 @@ static int mwifiex_pcie_create_txbd_ring(struct mwifiex_adapter *adapter) > card->txbd_ring_size, > &card->txbd_ring_pbase); > if (!card->txbd_ring_vbase) { > - mwifiex_dbg(adapter, ERROR, > - "allocate consistent memory (%d bytes) failed!\n", > - card->txbd_ring_size); > + pr_err("allocate consistent memory (%d bytes) failed!\n", > + card->txbd_ring_size); > return -ENOMEM; > } > - mwifiex_dbg(adapter, DATA, > - "info: txbd_ring - base: %p, pbase: %#x:%x, len: %x\n", > - card->txbd_ring_vbase, (unsigned int)card->txbd_ring_pbase, > - (u32)((u64)card->txbd_ring_pbase >> 32), > - card->txbd_ring_size); > + pr_notice("info: txbd_ring - base: %p, pbase: %#x:%x, len: %x\n", > + card->txbd_ring_vbase, (unsigned int)card->txbd_ring_pbase, > + (u32)((u64)card->txbd_ring_pbase >> 32), > + card->txbd_ring_size); > > return mwifiex_init_txq_ring(adapter); > } > @@ -875,24 +872,21 @@ static int mwifiex_pcie_create_rxbd_ring(struct mwifiex_adapter *adapter) > card->rxbd_ring_size = sizeof(struct mwifiex_pcie_buf_desc) * > MWIFIEX_MAX_TXRX_BD; > > - mwifiex_dbg(adapter, INFO, > - "info: rxbd_ring: Allocating %d bytes\n", > - card->rxbd_ring_size); > + pr_info("info: rxbd_ring: Allocating %d bytes\n", > + card->rxbd_ring_size); > card->rxbd_ring_vbase = pci_alloc_consistent(card->dev, > card->rxbd_ring_size, > &card->rxbd_ring_pbase); > if (!card->rxbd_ring_vbase) { > - mwifiex_dbg(adapter, ERROR, > - "allocate consistent memory (%d bytes) failed!\n", > - card->rxbd_ring_size); > + pr_err("allocate consistent memory (%d bytes) failed!\n", > + card->rxbd_ring_size); > return -ENOMEM; > } > > - mwifiex_dbg(adapter, DATA, > - "info: rxbd_ring - base: %p, pbase: %#x:%x, len: %#x\n", > - card->rxbd_ring_vbase, (u32)card->rxbd_ring_pbase, > - (u32)((u64)card->rxbd_ring_pbase >> 32), > - card->rxbd_ring_size); > + pr_notice("info: rxbd_ring - base: %p, pbase: %#x:%x, len: %#x\n", > + card->rxbd_ring_vbase, (u32)card->rxbd_ring_pbase, > + (u32)((u64)card->rxbd_ring_pbase >> 32), > + card->rxbd_ring_size); > > return mwifiex_init_rxq_ring(adapter); > } > @@ -939,24 +933,21 @@ static int mwifiex_pcie_create_evtbd_ring(struct mwifiex_adapter *adapter) > card->evtbd_ring_size = sizeof(struct mwifiex_evt_buf_desc) * > MWIFIEX_MAX_EVT_BD; > > - mwifiex_dbg(adapter, INFO, > - "info: evtbd_ring: Allocating %d bytes\n", > + pr_info("info: evtbd_ring: Allocating %d bytes\n", > card->evtbd_ring_size); > card->evtbd_ring_vbase = pci_alloc_consistent(card->dev, > card->evtbd_ring_size, > &card->evtbd_ring_pbase); > if (!card->evtbd_ring_vbase) { > - mwifiex_dbg(adapter, ERROR, > - "allocate consistent memory (%d bytes) failed!\n", > - card->evtbd_ring_size); > + pr_err("allocate consistent memory (%d bytes) failed!\n", > + card->evtbd_ring_size); > return -ENOMEM; > } > > - mwifiex_dbg(adapter, EVENT, > - "info: CMDRSP/EVT bd_ring - base: %p pbase: %#x:%x len: %#x\n", > - card->evtbd_ring_vbase, (u32)card->evtbd_ring_pbase, > - (u32)((u64)card->evtbd_ring_pbase >> 32), > - card->evtbd_ring_size); > + pr_notice("info: CMDRSP/EVT bd_ring - base: %p pbase: %#x:%x len: %#x\n", > + card->evtbd_ring_vbase, (u32)card->evtbd_ring_pbase, > + (u32)((u64)card->evtbd_ring_pbase >> 32), > + card->evtbd_ring_size); > > return mwifiex_pcie_init_evt_ring(adapter); > } > @@ -995,8 +986,7 @@ static int mwifiex_pcie_alloc_cmdrsp_buf(struct mwifiex_adapter *adapter) > /* Allocate memory for receiving command response data */ > skb = dev_alloc_skb(MWIFIEX_UPLD_SIZE); > if (!skb) { > - mwifiex_dbg(adapter, ERROR, > - "Unable to allocate skb for command response data.\n"); > + pr_err("Unable to allocate skb for command response data.\n"); > return -ENOMEM; > } > skb_put(skb, MWIFIEX_UPLD_SIZE); > @@ -1045,17 +1035,15 @@ static int mwifiex_pcie_alloc_sleep_cookie_buf(struct mwifiex_adapter *adapter) > card->sleep_cookie_vbase = pci_alloc_consistent(card->dev, sizeof(u32), > &card->sleep_cookie_pbase); > if (!card->sleep_cookie_vbase) { > - mwifiex_dbg(adapter, ERROR, > - "pci_alloc_consistent failed!\n"); > + pr_err("pci_alloc_consistent failed!\n"); > return -ENOMEM; > } > /* Init val of Sleep Cookie */ > tmp = FW_AWAKE_COOKIE; > put_unaligned(tmp, card->sleep_cookie_vbase); > > - mwifiex_dbg(adapter, INFO, > - "alloc_scook: sleep cookie=0x%x\n", > - get_unaligned(card->sleep_cookie_vbase)); > + pr_info("alloc_scook: sleep cookie=0x%x\n", > + get_unaligned(card->sleep_cookie_vbase)); > > return 0; > } > @@ -3069,32 +3057,32 @@ static void mwifiex_pcie_up_dev(struct mwifiex_adapter *adapter) > card->cmdrsp_buf = NULL; > ret = mwifiex_pcie_create_txbd_ring(adapter); > if (ret) { > - mwifiex_dbg(adapter, ERROR, "Failed to create txbd ring\n"); > + pr_err("Failed to create txbd ring\n"); > goto err_cre_txbd; > } > > ret = mwifiex_pcie_create_rxbd_ring(adapter); > if (ret) { > - mwifiex_dbg(adapter, ERROR, "Failed to create rxbd ring\n"); > + pr_err("Failed to create rxbd ring\n"); > goto err_cre_rxbd; > } > > ret = mwifiex_pcie_create_evtbd_ring(adapter); > if (ret) { > - mwifiex_dbg(adapter, ERROR, "Failed to create evtbd ring\n"); > + pr_err("Failed to create evtbd ring\n"); > goto err_cre_evtbd; > } > > ret = mwifiex_pcie_alloc_cmdrsp_buf(adapter); > if (ret) { > - mwifiex_dbg(adapter, ERROR, "Failed to allocate cmdbuf buffer\n"); > + pr_err("Failed to allocate cmdbuf buffer\n"); > goto err_alloc_cmdbuf; > } > > if (reg->sleep_cookie) { > ret = mwifiex_pcie_alloc_sleep_cookie_buf(adapter); > if (ret) { > - mwifiex_dbg(adapter, ERROR, "Failed to allocate sleep_cookie buffer\n"); > + pr_err("Failed to allocate sleep_cookie buffer\n"); > goto err_alloc_cookie; > } > } else { > diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c > index 58d3da0..596282e 100644 > --- a/drivers/net/wireless/marvell/mwifiex/sdio.c > +++ b/drivers/net/wireless/marvell/mwifiex/sdio.c > @@ -631,8 +631,7 @@ static int mwifiex_init_sdio_ioport(struct mwifiex_adapter *adapter) > else > return -1; > cont: > - mwifiex_dbg(adapter, INFO, > - "info: SDIO FUNC1 IO port: %#x\n", adapter->ioport); > + pr_info("info: SDIO FUNC1 IO port: %#x\n", adapter->ioport); > > /* Set Host interrupt reset to read to clear */ > if (!mwifiex_read_reg(adapter, card->reg->host_int_rsr_reg, ®)) > -- > 1.8.1.4 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] mwifiex: using general print function during device intialization 2017-03-31 22:46 ` Dmitry Torokhov @ 2017-04-03 18:42 ` Brian Norris 2017-04-05 6:41 ` Xinming Hu 0 siblings, 1 reply; 16+ messages in thread From: Brian Norris @ 2017-04-03 18:42 UTC (permalink / raw) To: Dmitry Torokhov Cc: Xinming Hu, Linux Wireless, Kalle Valo, Rajat Jain, Amitkumar Karwar, Cathy Luo, Xinming Hu On Fri, Mar 31, 2017 at 03:46:58PM -0700, Dmitry Torokhov wrote: > On Thu, Mar 30, 2017 at 2:19 AM, Xinming Hu <huxinming820@gmail.com> wrote: > > From: Xinming Hu <huxm@marvell.com> > > > > adapter->dev is initialized after mwifiex_register done, before that > > print message by general pr_* function > > No, we should move away from naked pr_*() as much as possible. Please > change mwifiex_register() to accept "dev" parameter and assign > adapter->dev early enough so that the standard mwifiex_err() calls are > usable. Agreed. You mean like I did here? :) ba1c7e45ec22 mwifiex: set adapter->dev before starting to use mwifiex_dbg() That's in v4.11-rc4, partly as a bugfix to this: 2e02b5814217 ("mwifiex: Allow mwifiex early access to device structure") > Also consider changing _mwifiex_dbg() to handle cases when > adapter->dev is NULL and fall back to pr_<level>. That'd be nice. It would have mitigated the problems of commit 2e02b5814217 too. Brian > > Signed-off-by: Xinming Hu <huxm@marvell.com> > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > > --- > > drivers/net/wireless/marvell/mwifiex/pcie.c | 78 ++++++++++++----------------- > > drivers/net/wireless/marvell/mwifiex/sdio.c | 3 +- > > 2 files changed, 34 insertions(+), 47 deletions(-) [...] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] mwifiex: using general print function during device intialization 2017-04-03 18:42 ` Brian Norris @ 2017-04-05 6:41 ` Xinming Hu 0 siblings, 0 replies; 16+ messages in thread From: Xinming Hu @ 2017-04-05 6:41 UTC (permalink / raw) To: Brian Norris, Dmitry Torokhov Cc: Xinming Hu, Linux Wireless, Kalle Valo, Rajat Jain, Cathy Luo DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJyaWFuIE5vcnJpcyBbbWFp bHRvOmJyaWFubm9ycmlzQGNocm9taXVtLm9yZ10NCj4gU2VudDogMjAxN8TqNNTCNMjVIDI6NDIN Cj4gVG86IERtaXRyeSBUb3Jva2hvdg0KPiBDYzogWGlubWluZyBIdTsgTGludXggV2lyZWxlc3M7 IEthbGxlIFZhbG87IFJhamF0IEphaW47IEFtaXRrdW1hciBLYXJ3YXI7IENhdGh5DQo+IEx1bzsg WGlubWluZyBIdQ0KPiBTdWJqZWN0OiBbRVhUXSBSZTogW1BBVENIIDIvM10gbXdpZmlleDogdXNp bmcgZ2VuZXJhbCBwcmludCBmdW5jdGlvbiBkdXJpbmcNCj4gZGV2aWNlIGludGlhbGl6YXRpb24N Cj4gDQo+IEV4dGVybmFsIEVtYWlsDQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IE9uIEZyaSwgTWFy IDMxLCAyMDE3IGF0IDAzOjQ2OjU4UE0gLTA3MDAsIERtaXRyeSBUb3Jva2hvdiB3cm90ZToNCj4g PiBPbiBUaHUsIE1hciAzMCwgMjAxNyBhdCAyOjE5IEFNLCBYaW5taW5nIEh1IDxodXhpbm1pbmc4 MjBAZ21haWwuY29tPg0KPiB3cm90ZToNCj4gPiA+IEZyb206IFhpbm1pbmcgSHUgPGh1eG1AbWFy dmVsbC5jb20+DQo+ID4gPg0KPiA+ID4gYWRhcHRlci0+ZGV2IGlzIGluaXRpYWxpemVkIGFmdGVy IG13aWZpZXhfcmVnaXN0ZXIgZG9uZSwgYmVmb3JlIHRoYXQNCj4gPiA+IHByaW50IG1lc3NhZ2Ug YnkgZ2VuZXJhbCBwcl8qIGZ1bmN0aW9uDQo+ID4NCj4gPiBObywgd2Ugc2hvdWxkIG1vdmUgYXdh eSBmcm9tIG5ha2VkIHByXyooKSBhcyBtdWNoIGFzIHBvc3NpYmxlLiBQbGVhc2UNCj4gPiBjaGFu Z2UgIG13aWZpZXhfcmVnaXN0ZXIoKSB0byBhY2NlcHQgImRldiIgcGFyYW1ldGVyIGFuZCBhc3Np Z24NCj4gPiBhZGFwdGVyLT5kZXYgZWFybHkgZW5vdWdoIHNvIHRoYXQgdGhlIHN0YW5kYXJkIG13 aWZpZXhfZXJyKCkgY2FsbHMgYXJlDQo+ID4gdXNhYmxlLg0KPiANCg0KVGhhbmtzIGZvciB0aGUg cmV2aWV3Lg0KDQo+IEFncmVlZC4gWW91IG1lYW4gbGlrZSBJIGRpZCBoZXJlPyA6KQ0KPiANCj4g YmExYzdlNDVlYzIyIG13aWZpZXg6IHNldCBhZGFwdGVyLT5kZXYgYmVmb3JlIHN0YXJ0aW5nIHRv IHVzZSBtd2lmaWV4X2RiZygpDQo+IA0KPiBUaGF0J3MgaW4gdjQuMTEtcmM0LCBwYXJ0bHkgYXMg YSBidWdmaXggdG8gdGhpczoNCj4gDQo+IDJlMDJiNTgxNDIxNyAoIm13aWZpZXg6IEFsbG93IG13 aWZpZXggZWFybHkgYWNjZXNzIHRvIGRldmljZSBzdHJ1Y3R1cmUiKQ0KPiANCj4gPiBBbHNvIGNv bnNpZGVyIGNoYW5naW5nIF9td2lmaWV4X2RiZygpIHRvIGhhbmRsZSBjYXNlcyB3aGVuDQo+ID4g YWRhcHRlci0+ZGV2IGlzIE5VTEwgYW5kIGZhbGwgYmFjayB0byBwcl88bGV2ZWw+Lg0KPiANCj4g VGhhdCdkIGJlIG5pY2UuIEl0IHdvdWxkIGhhdmUgbWl0aWdhdGVkIHRoZSBwcm9ibGVtcyBvZiBj b21taXQNCj4gMmUwMmI1ODE0MjE3IHRvby4NCj4gDQoNClllcywgdGhpcyBjb21taXQgYmExYzdl NCBzaG91bGQgYmUgYmV0dGVyIGFuZCB3b3JrIGZvciBtb3N0IGNhc2VzLCB3aWxsIGVuaGFuY2Ug X19td2lmaWV4X2RiZyBmb3IgYWRhcHRlci0+ZGV2IE5VTEwgY2FzZSBpbiBWMi4NCg0KVGhhbmtz LA0KU2ltb24NCg0KPiBCcmlhbg0KPiANCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFhpbm1pbmcgSHUg PGh1eG1AbWFydmVsbC5jb20+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbWl0a3VtYXIgS2Fyd2Fy IDxha2Fyd2FyQG1hcnZlbGwuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgZHJpdmVycy9uZXQvd2ly ZWxlc3MvbWFydmVsbC9td2lmaWV4L3BjaWUuYyB8IDc4DQo+ID4gPiArKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ID4gZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4 L3NkaW8uYyB8ICAzICstDQo+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCsp LCA0NyBkZWxldGlvbnMoLSkNCj4gDQo+IFsuLi5dDQo= ^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name 2017-03-30 9:19 [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Xinming Hu 2017-03-30 9:19 ` [PATCH 2/3] mwifiex: using general print function during device intialization Xinming Hu @ 2017-03-30 9:19 ` Xinming Hu 2017-03-31 22:50 ` Dmitry Torokhov ` (2 more replies) 2017-03-31 22:37 ` [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Dmitry Torokhov 2 siblings, 3 replies; 16+ messages in thread From: Xinming Hu @ 2017-03-30 9:19 UTC (permalink / raw) To: Linux Wireless Cc: Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Amitkumar Karwar, Cathy Luo, Xinming Hu From: Xinming Hu <huxm@marvell.com> Wifi-only firmware name should be chipset specific. Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> --- drivers/net/wireless/marvell/mwifiex/pcie.c | 8 +++++++- drivers/net/wireless/marvell/mwifiex/pcie.h | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c index 59cb01a..282aa9a 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c @@ -351,6 +351,12 @@ static void mwifiex_pcie_reset_notify(struct pci_dev *pdev, bool prepare) struct pcie_service_card *card = pci_get_drvdata(pdev); struct mwifiex_adapter *adapter = card->adapter; + if (!card->pcie.flr_support) { + pr_err("%s: FLR disabled in current chipset\n", __func__); + return; + } + + adapter = card->adapter; if (!adapter) { dev_err(&pdev->dev, "%s: adapter structure is not valid\n", __func__); @@ -3047,7 +3053,7 @@ static void mwifiex_pcie_up_dev(struct mwifiex_adapter *adapter) * during pcie FLR, so that bluetooth part of firmware which is * already running doesn't get affected. */ - strcpy(adapter->fw_name, PCIE8997_DEFAULT_WIFIFW_NAME); + strcpy(adapter->fw_name, card->pcie.wifi_fw_name); /* tx_buf_size might be changed to 3584 by firmware during * data transfer, we should reset it to default size. diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h index 00e8ee5..d6c8526 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.h +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h @@ -285,6 +285,8 @@ struct mwifiex_pcie_device { struct memory_type_mapping *mem_type_mapping_tbl; u8 num_mem_types; bool can_ext_scan; + u8 flr_support; + char *wifi_fw_name; }; static const struct mwifiex_pcie_device mwifiex_pcie8766 = { @@ -293,6 +295,7 @@ struct mwifiex_pcie_device { .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K, .can_dump_fw = false, .can_ext_scan = true, + .flr_support = 0, }; static const struct mwifiex_pcie_device mwifiex_pcie8897 = { @@ -303,6 +306,7 @@ struct mwifiex_pcie_device { .mem_type_mapping_tbl = mem_type_mapping_tbl_w8897, .num_mem_types = ARRAY_SIZE(mem_type_mapping_tbl_w8897), .can_ext_scan = true, + .flr_support = 0, }; static const struct mwifiex_pcie_device mwifiex_pcie8997 = { @@ -313,6 +317,8 @@ struct mwifiex_pcie_device { .mem_type_mapping_tbl = mem_type_mapping_tbl_w8997, .num_mem_types = ARRAY_SIZE(mem_type_mapping_tbl_w8997), .can_ext_scan = true, + .flr_support = 1, + .wifi_fw_name = "mrvl/pcie8997_wlan_v4.bin", }; struct mwifiex_evt_buf_desc { -- 1.8.1.4 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name 2017-03-30 9:19 ` [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name Xinming Hu @ 2017-03-31 22:50 ` Dmitry Torokhov 2017-04-03 18:48 ` Brian Norris 2017-04-06 8:05 ` Xinming Hu 2017-04-05 10:47 ` [3/3] " Kalle Valo [not found] ` <20170405104711.1092260DC7@smtp.codeaurora.org> 2 siblings, 2 replies; 16+ messages in thread From: Dmitry Torokhov @ 2017-03-31 22:50 UTC (permalink / raw) To: Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Rajat Jain, Amitkumar Karwar, Cathy Luo, Xinming Hu On Thu, Mar 30, 2017 at 2:19 AM, Xinming Hu <huxinming820@gmail.com> wrote: > From: Xinming Hu <huxm@marvell.com> > > Wifi-only firmware name should be chipset specific. > > Signed-off-by: Xinming Hu <huxm@marvell.com> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > --- > drivers/net/wireless/marvell/mwifiex/pcie.c | 8 +++++++- > drivers/net/wireless/marvell/mwifiex/pcie.h | 6 ++++++ > 2 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c > index 59cb01a..282aa9a 100644 > --- a/drivers/net/wireless/marvell/mwifiex/pcie.c > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c > @@ -351,6 +351,12 @@ static void mwifiex_pcie_reset_notify(struct pci_dev *pdev, bool prepare) > struct pcie_service_card *card = pci_get_drvdata(pdev); > struct mwifiex_adapter *adapter = card->adapter; > > + if (!card->pcie.flr_support) { > + pr_err("%s: FLR disabled in current chipset\n", __func__); > + return; > + } > + > + adapter = card->adapter; > if (!adapter) { > dev_err(&pdev->dev, "%s: adapter structure is not valid\n", > __func__); > @@ -3047,7 +3053,7 @@ static void mwifiex_pcie_up_dev(struct mwifiex_adapter *adapter) > * during pcie FLR, so that bluetooth part of firmware which is > * already running doesn't get affected. > */ > - strcpy(adapter->fw_name, PCIE8997_DEFAULT_WIFIFW_NAME); > + strcpy(adapter->fw_name, card->pcie.wifi_fw_name); > > /* tx_buf_size might be changed to 3584 by firmware during > * data transfer, we should reset it to default size. > diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.h b/drivers/net/wireless/marvell/mwifiex/pcie.h > index 00e8ee5..d6c8526 100644 > --- a/drivers/net/wireless/marvell/mwifiex/pcie.h > +++ b/drivers/net/wireless/marvell/mwifiex/pcie.h > @@ -285,6 +285,8 @@ struct mwifiex_pcie_device { > struct memory_type_mapping *mem_type_mapping_tbl; > u8 num_mem_types; > bool can_ext_scan; > + u8 flr_support; This sounds like a boolean, but given that you can key off wifi_fw_name being NULL I am not sure it is needed. > + char *wifi_fw_name; const char *. That said, I consider the whole wifi-only firmware business is quite fragile. Can we have unified firmware and have driver figure out what part shoudl be [re]loaded? > }; > > static const struct mwifiex_pcie_device mwifiex_pcie8766 = { > @@ -293,6 +295,7 @@ struct mwifiex_pcie_device { > .tx_buf_size = MWIFIEX_TX_DATA_BUF_SIZE_2K, > .can_dump_fw = false, > .can_ext_scan = true, > + .flr_support = 0, > }; > > static const struct mwifiex_pcie_device mwifiex_pcie8897 = { > @@ -303,6 +306,7 @@ struct mwifiex_pcie_device { > .mem_type_mapping_tbl = mem_type_mapping_tbl_w8897, > .num_mem_types = ARRAY_SIZE(mem_type_mapping_tbl_w8897), > .can_ext_scan = true, > + .flr_support = 0, > }; > > static const struct mwifiex_pcie_device mwifiex_pcie8997 = { > @@ -313,6 +317,8 @@ struct mwifiex_pcie_device { > .mem_type_mapping_tbl = mem_type_mapping_tbl_w8997, > .num_mem_types = ARRAY_SIZE(mem_type_mapping_tbl_w8997), > .can_ext_scan = true, > + .flr_support = 1, > + .wifi_fw_name = "mrvl/pcie8997_wlan_v4.bin", > }; > > struct mwifiex_evt_buf_desc { > -- > 1.8.1.4 > Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name 2017-03-31 22:50 ` Dmitry Torokhov @ 2017-04-03 18:48 ` Brian Norris 2017-04-06 8:08 ` [EXT] " Xinming Hu 2017-04-06 8:05 ` Xinming Hu 1 sibling, 1 reply; 16+ messages in thread From: Brian Norris @ 2017-04-03 18:48 UTC (permalink / raw) To: Dmitry Torokhov Cc: Xinming Hu, Linux Wireless, Kalle Valo, Rajat Jain, Amitkumar Karwar, Cathy Luo, Xinming Hu On Fri, Mar 31, 2017 at 03:50:27PM -0700, Dmitry Torokhov wrote: > That said, I consider the whole wifi-only firmware business is quite > fragile. Can we have unified firmware and have driver figure out what > part shoudl be [re]loaded? +1. I think we should really give a stab at this first, and *then* see how we want to patch up the flagging of support on a per-chipset basis. As-is, you're wasting filesystem space on a duplicate firmware blob, that we have to make sure gets updated in sync with the combined firmware every time there's an update. Proof of the duplicate blob -- the latter portion of the combined FW is identical to the WLAN-only: $ cmp mrvl/pcie{usb8997_combo,8997_wlan}_v4.bin $((0x2919c)); echo $? 0 Brian ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [EXT] Re: [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name 2017-04-03 18:48 ` Brian Norris @ 2017-04-06 8:08 ` Xinming Hu 0 siblings, 0 replies; 16+ messages in thread From: Xinming Hu @ 2017-04-06 8:08 UTC (permalink / raw) To: Brian Norris, Dmitry Torokhov Cc: Xinming Hu, Linux Wireless, Kalle Valo, Rajat Jain, Amitkumar Karwar, Cathy Luo SGkgQnJhaW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQnJpYW4g Tm9ycmlzIFttYWlsdG86YnJpYW5ub3JyaXNAY2hyb21pdW0ub3JnXQ0KPiBTZW50OiAyMDE3xOo0 1MI0yNUgMjo0OQ0KPiBUbzogRG1pdHJ5IFRvcm9raG92DQo+IENjOiBYaW5taW5nIEh1OyBMaW51 eCBXaXJlbGVzczsgS2FsbGUgVmFsbzsgUmFqYXQgSmFpbjsgQW1pdGt1bWFyIEthcndhcjsgQ2F0 aHkNCj4gTHVvOyBYaW5taW5nIEh1DQo+IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0ggMy8zXSBt d2lmaWV4OiBwY2llOiBhdm9pZCBoYXJkY29kZSB3aWZpLW9ubHkNCj4gZmlybXdhcmUgbmFtZQ0K PiANCj4gRXh0ZXJuYWwgRW1haWwNCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gT24gRnJpLCBNYXIg MzEsIDIwMTcgYXQgMDM6NTA6MjdQTSAtMDcwMCwgRG1pdHJ5IFRvcm9raG92IHdyb3RlOg0KPiA+ IFRoYXQgc2FpZCwgSSBjb25zaWRlciB0aGUgd2hvbGUgd2lmaS1vbmx5IGZpcm13YXJlIGJ1c2lu ZXNzIGlzIHF1aXRlDQo+ID4gZnJhZ2lsZS4gQ2FuIHdlIGhhdmUgdW5pZmllZCBmaXJtd2FyZSBh bmQgaGF2ZSBkcml2ZXIgZmlndXJlIG91dCB3aGF0DQo+ID4gcGFydCBzaG91ZGwgYmUgW3JlXWxv YWRlZD8NCj4gDQo+ICsxLiBJIHRoaW5rIHdlIHNob3VsZCByZWFsbHkgZ2l2ZSBhIHN0YWIgYXQg dGhpcyBmaXJzdCwgYW5kICp0aGVuKiBzZWUNCj4gaG93IHdlIHdhbnQgdG8gcGF0Y2ggdXAgdGhl IGZsYWdnaW5nIG9mIHN1cHBvcnQgb24gYSBwZXItY2hpcHNldCBiYXNpcy4NCj4gQXMtaXMsIHlv dSdyZSB3YXN0aW5nIGZpbGVzeXN0ZW0gc3BhY2Ugb24gYSBkdXBsaWNhdGUgZmlybXdhcmUgYmxv YiwgdGhhdCB3ZQ0KPiBoYXZlIHRvIG1ha2Ugc3VyZSBnZXRzIHVwZGF0ZWQgaW4gc3luYyB3aXRo IHRoZSBjb21iaW5lZCBmaXJtd2FyZSBldmVyeQ0KPiB0aW1lIHRoZXJlJ3MgYW4gdXBkYXRlLg0K PiANCj4gUHJvb2Ygb2YgdGhlIGR1cGxpY2F0ZSBibG9iIC0tIHRoZSBsYXR0ZXIgcG9ydGlvbiBv ZiB0aGUgY29tYmluZWQgRlcgaXMgaWRlbnRpY2FsDQo+IHRvIHRoZSBXTEFOLW9ubHk6DQo+IA0K PiAgICQgY21wIG1ydmwvcGNpZXt1c2I4OTk3X2NvbWJvLDg5OTdfd2xhbn1fdjQuYmluICQoKDB4 MjkxOWMpKTsgZWNobyAkPw0KPiAgIDANCg0KVGhhbmtzIGZvciB0aGUgcmV2aWV3LCB3ZSBoYXZl IGEgbmV3IHNvbHV0aW9uIGZvciBleHRyYWN0aW5nIHdpZmktb25seSBwYXJ0IGZyb20gY29tYm8g ZmlybXdhcmUsIHdpbGwgc2VuZCBpdCBpbiB2Mi4NCg0KVGhhbmtzDQpTaW1vbg0KPiANCj4gQnJp YW4NCg== ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: Re: [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name 2017-03-31 22:50 ` Dmitry Torokhov 2017-04-03 18:48 ` Brian Norris @ 2017-04-06 8:05 ` Xinming Hu 1 sibling, 0 replies; 16+ messages in thread From: Xinming Hu @ 2017-04-06 8:05 UTC (permalink / raw) To: Dmitry Torokhov, Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Rajat Jain, Amitkumar Karwar, Cathy Luo SGkgRG1pdHJ5LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IERtaXRy eSBUb3Jva2hvdiBbbWFpbHRvOmR0b3JAZ29vZ2xlLmNvbV0NCj4gU2VudDogMjAxN+W5tDTmnIgx 5pelIDY6NTANCj4gVG86IFhpbm1pbmcgSHUNCj4gQ2M6IExpbnV4IFdpcmVsZXNzOyBLYWxsZSBW YWxvOyBCcmlhbiBOb3JyaXM7IFJhamF0IEphaW47IEFtaXRrdW1hciBLYXJ3YXI7DQo+IENhdGh5 IEx1bzsgWGlubWluZyBIdQ0KPiBTdWJqZWN0OiBbRVhUXSBSZTogW1BBVENIIDMvM10gbXdpZmll eDogcGNpZTogYXZvaWQgaGFyZGNvZGUgd2lmaS1vbmx5DQo+IGZpcm13YXJlIG5hbWUNCj4gDQo+ IEV4dGVybmFsIEVtYWlsDQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IE9uIFRodSwgTWFyIDMwLCAy MDE3IGF0IDI6MTkgQU0sIFhpbm1pbmcgSHUgPGh1eGlubWluZzgyMEBnbWFpbC5jb20+DQo+IHdy b3RlOg0KPiA+IEZyb206IFhpbm1pbmcgSHUgPGh1eG1AbWFydmVsbC5jb20+DQo+ID4NCj4gPiBX aWZpLW9ubHkgZmlybXdhcmUgbmFtZSBzaG91bGQgYmUgY2hpcHNldCBzcGVjaWZpYy4NCj4gPg0K PiA+IFNpZ25lZC1vZmYtYnk6IFhpbm1pbmcgSHUgPGh1eG1AbWFydmVsbC5jb20+DQo+ID4gU2ln bmVkLW9mZi1ieTogQW1pdGt1bWFyIEthcndhciA8YWthcndhckBtYXJ2ZWxsLmNvbT4NCj4gPiAt LS0NCj4gPiAgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3BjaWUuYyB8IDgg KysrKysrKy0NCj4gPiBkcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvcGNpZS5o IHwgNiArKysrKysNCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFy dmVsbC9td2lmaWV4L3BjaWUuYw0KPiA+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9t d2lmaWV4L3BjaWUuYw0KPiA+IGluZGV4IDU5Y2IwMWEuLjI4MmFhOWEgMTAwNjQ0DQo+ID4gLS0t IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3BjaWUuYw0KPiA+ICsrKyBi L2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9wY2llLmMNCj4gPiBAQCAtMzUx LDYgKzM1MSwxMiBAQCBzdGF0aWMgdm9pZCBtd2lmaWV4X3BjaWVfcmVzZXRfbm90aWZ5KHN0cnVj dCBwY2lfZGV2DQo+ICpwZGV2LCBib29sIHByZXBhcmUpDQo+ID4gICAgICAgICBzdHJ1Y3QgcGNp ZV9zZXJ2aWNlX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7DQo+ID4gICAgICAg ICBzdHJ1Y3QgbXdpZmlleF9hZGFwdGVyICphZGFwdGVyID0gY2FyZC0+YWRhcHRlcjsNCj4gPg0K PiA+ICsgICAgICAgaWYgKCFjYXJkLT5wY2llLmZscl9zdXBwb3J0KSB7DQo+ID4gKyAgICAgICAg ICAgICAgIHByX2VycigiJXM6IEZMUiBkaXNhYmxlZCBpbiBjdXJyZW50IGNoaXBzZXRcbiIsIF9f ZnVuY19fKTsNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuOw0KPiA+ICsgICAgICAgfQ0KPiA+ ICsNCj4gPiArICAgICAgIGFkYXB0ZXIgPSBjYXJkLT5hZGFwdGVyOw0KPiA+ICAgICAgICAgaWYg KCFhZGFwdGVyKSB7DQo+ID4gICAgICAgICAgICAgICAgIGRldl9lcnIoJnBkZXYtPmRldiwgIiVz OiBhZGFwdGVyIHN0cnVjdHVyZSBpcyBub3QNCj4gdmFsaWRcbiIsDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgX19mdW5jX18pOw0KPiA+IEBAIC0zMDQ3LDcgKzMwNTMsNyBAQCBzdGF0aWMg dm9pZCBtd2lmaWV4X3BjaWVfdXBfZGV2KHN0cnVjdA0KPiBtd2lmaWV4X2FkYXB0ZXIgKmFkYXB0 ZXIpDQo+ID4gICAgICAgICAgKiBkdXJpbmcgcGNpZSBGTFIsIHNvIHRoYXQgYmx1ZXRvb3RoIHBh cnQgb2YgZmlybXdhcmUgd2hpY2ggaXMNCj4gPiAgICAgICAgICAqIGFscmVhZHkgcnVubmluZyBk b2Vzbid0IGdldCBhZmZlY3RlZC4NCj4gPiAgICAgICAgICAqLw0KPiA+IC0gICAgICAgc3RyY3B5 KGFkYXB0ZXItPmZ3X25hbWUsIFBDSUU4OTk3X0RFRkFVTFRfV0lGSUZXX05BTUUpOw0KPiA+ICsg ICAgICAgc3RyY3B5KGFkYXB0ZXItPmZ3X25hbWUsIGNhcmQtPnBjaWUud2lmaV9md19uYW1lKTsN Cj4gPg0KPiA+ICAgICAgICAgLyogdHhfYnVmX3NpemUgbWlnaHQgYmUgY2hhbmdlZCB0byAzNTg0 IGJ5IGZpcm13YXJlIGR1cmluZw0KPiA+ICAgICAgICAgICogZGF0YSB0cmFuc2Zlciwgd2Ugc2hv dWxkIHJlc2V0IGl0IHRvIGRlZmF1bHQgc2l6ZS4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3BjaWUuaA0KPiA+IGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvbWFydmVsbC9td2lmaWV4L3BjaWUuaA0KPiA+IGluZGV4IDAwZThlZTUuLmQ2Yzg1MjYg MTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3Bj aWUuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9wY2ll LmgNCj4gPiBAQCAtMjg1LDYgKzI4NSw4IEBAIHN0cnVjdCBtd2lmaWV4X3BjaWVfZGV2aWNlIHsN Cj4gPiAgICAgICAgIHN0cnVjdCBtZW1vcnlfdHlwZV9tYXBwaW5nICptZW1fdHlwZV9tYXBwaW5n X3RibDsNCj4gPiAgICAgICAgIHU4IG51bV9tZW1fdHlwZXM7DQo+ID4gICAgICAgICBib29sIGNh bl9leHRfc2NhbjsNCj4gPiArICAgICAgIHU4IGZscl9zdXBwb3J0Ow0KPiANCj4gVGhpcyBzb3Vu ZHMgbGlrZSBhIGJvb2xlYW4sIGJ1dCBnaXZlbiB0aGF0IHlvdSBjYW4ga2V5IG9mZiB3aWZpX2Z3 X25hbWUgYmVpbmcNCj4gTlVMTCBJIGFtIG5vdCBzdXJlIGl0IGlzIG5lZWRlZC4NCj4gDQo+ID4g KyAgICAgICBjaGFyICp3aWZpX2Z3X25hbWU7DQo+IA0KPiBjb25zdCBjaGFyICouDQo+IA0KPiBU aGF0IHNhaWQsIEkgY29uc2lkZXIgdGhlIHdob2xlIHdpZmktb25seSBmaXJtd2FyZSBidXNpbmVz cyBpcyBxdWl0ZSBmcmFnaWxlLiBDYW4NCj4gd2UgaGF2ZSB1bmlmaWVkIGZpcm13YXJlIGFuZCBo YXZlIGRyaXZlciBmaWd1cmUgb3V0IHdoYXQgcGFydCBzaG91ZGwgYmUNCj4gW3JlXWxvYWRlZD8N Cj4gDQoNClRoYW5rcyBmb3IgdGhlIHJldmlldywgd2UgaGF2ZSB0cmllZCB0byBleHRyYWN0IHdp Zmktb25seSBwYXJ0IGZyb20gY29tYm8gZmlybXdhcmUuDQpUaGUgbmV3IHNvbHV0aW9uIHdpbGwg YmUgc2VuZCBpbiBWMiwgaW4gdGhpcyB3YXksIHdlIGRvIG5vdCBuZWVkIHNlcGFyYXRlIHdpZmlf ZndfbmFtZSBhbnkgbW9yZS4NCg0KVGhhbmtzDQpTaW1vbg0KDQo+ID4gIH07DQo+ID4NCj4gPiAg c3RhdGljIGNvbnN0IHN0cnVjdCBtd2lmaWV4X3BjaWVfZGV2aWNlIG13aWZpZXhfcGNpZTg3NjYg PSB7IEBADQo+ID4gLTI5Myw2ICsyOTUsNyBAQCBzdHJ1Y3QgbXdpZmlleF9wY2llX2RldmljZSB7 DQo+ID4gICAgICAgICAudHhfYnVmX3NpemUgPSBNV0lGSUVYX1RYX0RBVEFfQlVGX1NJWkVfMkss DQo+ID4gICAgICAgICAuY2FuX2R1bXBfZncgPSBmYWxzZSwNCj4gPiAgICAgICAgIC5jYW5fZXh0 X3NjYW4gPSB0cnVlLA0KPiA+ICsgICAgICAgLmZscl9zdXBwb3J0ID0gMCwNCj4gPiAgfTsNCj4g Pg0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG13aWZpZXhfcGNpZV9kZXZpY2UgbXdpZmlleF9w Y2llODg5NyA9IHsgQEANCj4gPiAtMzAzLDYgKzMwNiw3IEBAIHN0cnVjdCBtd2lmaWV4X3BjaWVf ZGV2aWNlIHsNCj4gPiAgICAgICAgIC5tZW1fdHlwZV9tYXBwaW5nX3RibCA9IG1lbV90eXBlX21h cHBpbmdfdGJsX3c4ODk3LA0KPiA+ICAgICAgICAgLm51bV9tZW1fdHlwZXMgPSBBUlJBWV9TSVpF KG1lbV90eXBlX21hcHBpbmdfdGJsX3c4ODk3KSwNCj4gPiAgICAgICAgIC5jYW5fZXh0X3NjYW4g PSB0cnVlLA0KPiA+ICsgICAgICAgLmZscl9zdXBwb3J0ID0gMCwNCj4gPiAgfTsNCj4gPg0KPiA+ ICBzdGF0aWMgY29uc3Qgc3RydWN0IG13aWZpZXhfcGNpZV9kZXZpY2UgbXdpZmlleF9wY2llODk5 NyA9IHsgQEANCj4gPiAtMzEzLDYgKzMxNyw4IEBAIHN0cnVjdCBtd2lmaWV4X3BjaWVfZGV2aWNl IHsNCj4gPiAgICAgICAgIC5tZW1fdHlwZV9tYXBwaW5nX3RibCA9IG1lbV90eXBlX21hcHBpbmdf dGJsX3c4OTk3LA0KPiA+ICAgICAgICAgLm51bV9tZW1fdHlwZXMgPSBBUlJBWV9TSVpFKG1lbV90 eXBlX21hcHBpbmdfdGJsX3c4OTk3KSwNCj4gPiAgICAgICAgIC5jYW5fZXh0X3NjYW4gPSB0cnVl LA0KPiA+ICsgICAgICAgLmZscl9zdXBwb3J0ID0gMSwNCj4gPiArICAgICAgIC53aWZpX2Z3X25h bWUgPSAibXJ2bC9wY2llODk5N193bGFuX3Y0LmJpbiIsDQo+ID4gIH07DQo+ID4NCj4gPiAgc3Ry dWN0IG13aWZpZXhfZXZ0X2J1Zl9kZXNjIHsNCj4gPiAtLQ0KPiA+IDEuOC4xLjQNCj4gPg0KPiAN Cj4gVGhhbmtzLg0KPiANCj4gLS0NCj4gRG1pdHJ5DQo= ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name 2017-03-30 9:19 ` [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name Xinming Hu 2017-03-31 22:50 ` Dmitry Torokhov @ 2017-04-05 10:47 ` Kalle Valo [not found] ` <20170405104711.1092260DC7@smtp.codeaurora.org> 2 siblings, 0 replies; 16+ messages in thread From: Kalle Valo @ 2017-04-05 10:47 UTC (permalink / raw) To: Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Amitkumar Karwar, Cathy Luo, Xinming Hu Xinming Hu <huxinming820@gmail.com> wrote: > From: Xinming Hu <huxm@marvell.com> > > Wifi-only firmware name should be chipset specific. > > Signed-off-by: Xinming Hu <huxm@marvell.com> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> The commit log is not telling anything. Why are you changing this? And how does the functionality change from user space point of view? -- https://patchwork.kernel.org/patch/9653387/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20170405104711.1092260DC7@smtp.codeaurora.org>]
* RE:] Re: [3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name [not found] ` <20170405104711.1092260DC7@smtp.codeaurora.org> @ 2017-04-06 8:14 ` Xinming Hu 0 siblings, 0 replies; 16+ messages in thread From: Xinming Hu @ 2017-04-06 8:14 UTC (permalink / raw) To: Kalle Valo, Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Amitkumar Karwar, Cathy Luo SGkgS2FsbGUsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2FsbGUg VmFsbyBbbWFpbHRvOmt2YWxvQGNvZGVhdXJvcmEub3JnXQ0KPiBTZW50OiAyMDE35bm0NOaciDXm l6UgMTg6NDcNCj4gVG86IFhpbm1pbmcgSHUNCj4gQ2M6IExpbnV4IFdpcmVsZXNzOyBLYWxsZSBW YWxvOyBCcmlhbiBOb3JyaXM7IERtaXRyeSBUb3Jva2hvdjsNCj4gcmFqYXRqYUBnb29nbGUuY29t OyBBbWl0a3VtYXIgS2Fyd2FyOyBDYXRoeSBMdW87IFhpbm1pbmcgSHUNCj4gU3ViamVjdDogW0VY VF0gUmU6IFszLzNdIG13aWZpZXg6IHBjaWU6IGF2b2lkIGhhcmRjb2RlIHdpZmktb25seSBmaXJt d2FyZSBuYW1lDQo+IA0KPiBFeHRlcm5hbCBFbWFpbA0KPiANCj4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBY aW5taW5nIEh1IDxodXhpbm1pbmc4MjBAZ21haWwuY29tPiB3cm90ZToNCj4gPiBGcm9tOiBYaW5t aW5nIEh1IDxodXhtQG1hcnZlbGwuY29tPg0KPiA+DQo+ID4gV2lmaS1vbmx5IGZpcm13YXJlIG5h bWUgc2hvdWxkIGJlIGNoaXBzZXQgc3BlY2lmaWMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBY aW5taW5nIEh1IDxodXhtQG1hcnZlbGwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFtaXRrdW1h ciBLYXJ3YXIgPGFrYXJ3YXJAbWFydmVsbC5jb20+DQo+IA0KPiBUaGUgY29tbWl0IGxvZyBpcyBu b3QgdGVsbGluZyBhbnl0aGluZy4gV2h5IGFyZSB5b3UgY2hhbmdpbmcgdGhpcz8gQW5kIGhvdw0K PiBkb2VzIHRoZSBmdW5jdGlvbmFsaXR5IGNoYW5nZSBmcm9tIHVzZXIgc3BhY2UgcG9pbnQgb2Yg dmlldz8NCj4gDQoNClRoYW5rcyBmb3IgdGhlIHJldmlldywgd2UgaGF2ZSBpbXBsZW1lbnRlZCBh IG5ldyB3YXkgdG8gZXh0cmFjdCB3aWZpLW9ubHkgcGFydCBmcm9tIGNvbWJvIGZpcm13YXJlLCB3 aWxsIGFkZCBtb3JlIGRlc2NyaXB0aW9uIGluIHYyDQoNClRoYW5rcywNClNpbW9uDQo+IC0tDQo+ IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvOTY1MzM4Ny8NCj4gDQo+IGh0dHBz Oi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL2RldmVsb3BlcnMvZG9jdW1lbnRhdGlvbi9z dWJtaXR0aW5ncGF0DQo+IGNoZXMNCg0K ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check 2017-03-30 9:19 [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Xinming Hu 2017-03-30 9:19 ` [PATCH 2/3] mwifiex: using general print function during device intialization Xinming Hu 2017-03-30 9:19 ` [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name Xinming Hu @ 2017-03-31 22:37 ` Dmitry Torokhov 2017-04-03 18:33 ` Brian Norris 2017-04-05 5:16 ` [EXT] " Xinming Hu 2 siblings, 2 replies; 16+ messages in thread From: Dmitry Torokhov @ 2017-03-31 22:37 UTC (permalink / raw) To: Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Rajat Jain, Amitkumar Karwar, Cathy Luo, Xinming Hu On Thu, Mar 30, 2017 at 2:19 AM, Xinming Hu <huxinming820@gmail.com> wrote: > From: Xinming Hu <huxm@marvell.com> > > Sanity check of interrupt number in interrupt handler is unnecessary and > confusion, remove it. I'd reworded the explanation a bit: "If wakeup interrupt handler is called, we know that the wakeup interrupt number is valid, there is no need to check it." Otherwise: Reviewed-by: Dmitry Torokhov <dtor@chromium.org> > > Signed-off-by: Xinming Hu <huxm@marvell.com> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > --- > drivers/net/wireless/marvell/mwifiex/main.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c > index 30f4994..5e82602 100644 > --- a/drivers/net/wireless/marvell/mwifiex/main.c > +++ b/drivers/net/wireless/marvell/mwifiex/main.c > @@ -1503,11 +1503,9 @@ static irqreturn_t mwifiex_irq_wakeup_handler(int irq, void *priv) > { > struct mwifiex_adapter *adapter = priv; > > - if (adapter->irq_wakeup >= 0) { > - dev_dbg(adapter->dev, "%s: wake by wifi", __func__); > - adapter->wake_by_wifi = true; > - disable_irq_nosync(irq); > - } > + dev_dbg(adapter->dev, "%s: wake by wifi", __func__); > + adapter->wake_by_wifi = true; > + disable_irq_nosync(irq); > > /* Notify PM core we are wakeup source */ > pm_wakeup_event(adapter->dev, 0); > -- > 1.8.1.4 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check 2017-03-31 22:37 ` [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Dmitry Torokhov @ 2017-04-03 18:33 ` Brian Norris 2017-04-05 5:23 ` Xinming Hu 2017-04-05 5:16 ` [EXT] " Xinming Hu 1 sibling, 1 reply; 16+ messages in thread From: Brian Norris @ 2017-04-03 18:33 UTC (permalink / raw) To: Dmitry Torokhov Cc: Xinming Hu, Linux Wireless, Kalle Valo, Rajat Jain, Amitkumar Karwar, Cathy Luo, Xinming Hu On Fri, Mar 31, 2017 at 03:37:01PM -0700, Dmitry Torokhov wrote: > On Thu, Mar 30, 2017 at 2:19 AM, Xinming Hu <huxinming820@gmail.com> wrote: > > From: Xinming Hu <huxm@marvell.com> > > > > Sanity check of interrupt number in interrupt handler is unnecessary and > > confusion, remove it. > > I'd reworded the explanation a bit: "If wakeup interrupt handler is > called, we know that the wakeup interrupt number is valid, there is no > need to check it." Either way works for me (modulo grammar), though Dmitry's is more informative. So +1. > Otherwise: > > Reviewed-by: Dmitry Torokhov <dtor@chromium.org> Ooh, me too! Reviewed-by: Brian Norris <briannorris@chromium.org> I believe this same pattern occurs in btmrvl_sdio. Possibly others. > > Signed-off-by: Xinming Hu <huxm@marvell.com> > > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> > > --- > > drivers/net/wireless/marvell/mwifiex/main.c | 8 +++----- > > 1 file changed, 3 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c > > index 30f4994..5e82602 100644 > > --- a/drivers/net/wireless/marvell/mwifiex/main.c > > +++ b/drivers/net/wireless/marvell/mwifiex/main.c > > @@ -1503,11 +1503,9 @@ static irqreturn_t mwifiex_irq_wakeup_handler(int irq, void *priv) > > { > > struct mwifiex_adapter *adapter = priv; > > > > - if (adapter->irq_wakeup >= 0) { > > - dev_dbg(adapter->dev, "%s: wake by wifi", __func__); > > - adapter->wake_by_wifi = true; > > - disable_irq_nosync(irq); > > - } > > + dev_dbg(adapter->dev, "%s: wake by wifi", __func__); > > + adapter->wake_by_wifi = true; > > + disable_irq_nosync(irq); > > > > /* Notify PM core we are wakeup source */ > > pm_wakeup_event(adapter->dev, 0); > > -- > > 1.8.1.4 > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: Re: [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check 2017-04-03 18:33 ` Brian Norris @ 2017-04-05 5:23 ` Xinming Hu 0 siblings, 0 replies; 16+ messages in thread From: Xinming Hu @ 2017-04-05 5:23 UTC (permalink / raw) To: Brian Norris, Dmitry Torokhov Cc: Xinming Hu, Linux Wireless, Kalle Valo, Rajat Jain, Amitkumar Karwar, Cathy Luo SGkgQnJhaW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQnJpYW4g Tm9ycmlzIFttYWlsdG86YnJpYW5ub3JyaXNAY2hyb21pdW0ub3JnXQ0KPiBTZW50OiAyMDE3xOo0 1MI0yNUgMjozNA0KPiBUbzogRG1pdHJ5IFRvcm9raG92DQo+IENjOiBYaW5taW5nIEh1OyBMaW51 eCBXaXJlbGVzczsgS2FsbGUgVmFsbzsgUmFqYXQgSmFpbjsgQW1pdGt1bWFyIEthcndhcjsgQ2F0 aHkNCj4gTHVvOyBYaW5taW5nIEh1DQo+IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0ggMS8zXSBt d2lmaWV4OiByZW1vdmUgdW5uZWNlc3Nhcnkgd2FrZXVwIGludGVycnVwdA0KPiBudW1iZXIgc2Fu aXR5IGNoZWNrDQo+IA0KPiBFeHRlcm5hbCBFbWFpbA0KPiANCj4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBP biBGcmksIE1hciAzMSwgMjAxNyBhdCAwMzozNzowMVBNIC0wNzAwLCBEbWl0cnkgVG9yb2tob3Yg d3JvdGU6DQo+ID4gT24gVGh1LCBNYXIgMzAsIDIwMTcgYXQgMjoxOSBBTSwgWGlubWluZyBIdSA8 aHV4aW5taW5nODIwQGdtYWlsLmNvbT4NCj4gd3JvdGU6DQo+ID4gPiBGcm9tOiBYaW5taW5nIEh1 IDxodXhtQG1hcnZlbGwuY29tPg0KPiA+ID4NCj4gPiA+IFNhbml0eSBjaGVjayBvZiBpbnRlcnJ1 cHQgbnVtYmVyIGluIGludGVycnVwdCBoYW5kbGVyIGlzIHVubmVjZXNzYXJ5DQo+ID4gPiBhbmQg Y29uZnVzaW9uLCByZW1vdmUgaXQuDQo+ID4NCj4gPiBJJ2QgcmV3b3JkZWQgdGhlIGV4cGxhbmF0 aW9uIGEgYml0OiAiSWYgd2FrZXVwIGludGVycnVwdCBoYW5kbGVyIGlzDQo+ID4gY2FsbGVkLCB3 ZSBrbm93IHRoYXQgdGhlIHdha2V1cCBpbnRlcnJ1cHQgbnVtYmVyIGlzIHZhbGlkLCB0aGVyZSBp cyBubw0KPiA+IG5lZWQgdG8gY2hlY2sgaXQuIg0KPiANCj4gRWl0aGVyIHdheSB3b3JrcyBmb3Ig bWUgKG1vZHVsbyBncmFtbWFyKSwgdGhvdWdoIERtaXRyeSdzIGlzIG1vcmUNCj4gaW5mb3JtYXRp dmUuIFNvICsxLg0KPiANCj4gPiBPdGhlcndpc2U6DQo+ID4NCj4gPiBSZXZpZXdlZC1ieTogRG1p dHJ5IFRvcm9raG92IDxkdG9yQGNocm9taXVtLm9yZz4NCj4gDQo+IE9vaCwgbWUgdG9vIQ0KPiAN Cj4gUmV2aWV3ZWQtYnk6IEJyaWFuIE5vcnJpcyA8YnJpYW5ub3JyaXNAY2hyb21pdW0ub3JnPg0K PiANCj4gSSBiZWxpZXZlIHRoaXMgc2FtZSBwYXR0ZXJuIG9jY3VycyBpbiBidG1ydmxfc2Rpby4g UG9zc2libHkgb3RoZXJzLg0KPiANCg0KVGhhbmtzIGZvciB0aGUgcmV2aWV3LCB0aGUgc2ltaWxh ciBjaGFuZ2UgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gQmx1ZXRvb3RoKGNvbW1pdCA3MzNkYjRjY2Vj KQ0KDQpUaGFua3MNClNJbW9uDQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBYaW5taW5nIEh1IDxodXht QG1hcnZlbGwuY29tPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogQW1pdGt1bWFyIEthcndhciA8YWth cndhckBtYXJ2ZWxsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZlcnMvbmV0L3dpcmVsZXNz L21hcnZlbGwvbXdpZmlleC9tYWluLmMgfCA4ICsrKy0tLS0tDQo+ID4gPiAgMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L21haW4uYw0KPiA+ID4g Yi9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvbWFpbi5jDQo+ID4gPiBpbmRl eCAzMGY0OTk0Li41ZTgyNjAyIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxl c3MvbWFydmVsbC9td2lmaWV4L21haW4uYw0KPiA+ID4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxl c3MvbWFydmVsbC9td2lmaWV4L21haW4uYw0KPiA+ID4gQEAgLTE1MDMsMTEgKzE1MDMsOSBAQCBz dGF0aWMgaXJxcmV0dXJuX3QNCj4gPiA+IG13aWZpZXhfaXJxX3dha2V1cF9oYW5kbGVyKGludCBp cnEsIHZvaWQgKnByaXYpICB7DQo+ID4gPiAgICAgICAgIHN0cnVjdCBtd2lmaWV4X2FkYXB0ZXIg KmFkYXB0ZXIgPSBwcml2Ow0KPiA+ID4NCj4gPiA+IC0gICAgICAgaWYgKGFkYXB0ZXItPmlycV93 YWtldXAgPj0gMCkgew0KPiA+ID4gLSAgICAgICAgICAgICAgIGRldl9kYmcoYWRhcHRlci0+ZGV2 LCAiJXM6IHdha2UgYnkgd2lmaSIsIF9fZnVuY19fKTsNCj4gPiA+IC0gICAgICAgICAgICAgICBh ZGFwdGVyLT53YWtlX2J5X3dpZmkgPSB0cnVlOw0KPiA+ID4gLSAgICAgICAgICAgICAgIGRpc2Fi bGVfaXJxX25vc3luYyhpcnEpOw0KPiA+ID4gLSAgICAgICB9DQo+ID4gPiArICAgICAgIGRldl9k YmcoYWRhcHRlci0+ZGV2LCAiJXM6IHdha2UgYnkgd2lmaSIsIF9fZnVuY19fKTsNCj4gPiA+ICsg ICAgICAgYWRhcHRlci0+d2FrZV9ieV93aWZpID0gdHJ1ZTsNCj4gPiA+ICsgICAgICAgZGlzYWJs ZV9pcnFfbm9zeW5jKGlycSk7DQo+ID4gPg0KPiA+ID4gICAgICAgICAvKiBOb3RpZnkgUE0gY29y ZSB3ZSBhcmUgd2FrZXVwIHNvdXJjZSAqLw0KPiA+ID4gICAgICAgICBwbV93YWtldXBfZXZlbnQo YWRhcHRlci0+ZGV2LCAwKTsNCj4gPiA+IC0tDQo+ID4gPiAxLjguMS40DQo+ID4gPg0K ^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [EXT] Re: [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check 2017-03-31 22:37 ` [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Dmitry Torokhov 2017-04-03 18:33 ` Brian Norris @ 2017-04-05 5:16 ` Xinming Hu 1 sibling, 0 replies; 16+ messages in thread From: Xinming Hu @ 2017-04-05 5:16 UTC (permalink / raw) To: Dmitry Torokhov, Xinming Hu Cc: Linux Wireless, Kalle Valo, Brian Norris, Rajat Jain, Amitkumar Karwar, Cathy Luo SGkgRG1pdHJ5LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IERtaXRy eSBUb3Jva2hvdiBbbWFpbHRvOmR0b3JAY2hyb21pdW0ub3JnXQ0KPiBTZW50OiAyMDE35bm0NOac iDHml6UgNjozNw0KPiBUbzogWGlubWluZyBIdQ0KPiBDYzogTGludXggV2lyZWxlc3M7IEthbGxl IFZhbG87IEJyaWFuIE5vcnJpczsgUmFqYXQgSmFpbjsgQW1pdGt1bWFyIEthcndhcjsNCj4gQ2F0 aHkgTHVvOyBYaW5taW5nIEh1DQo+IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0ggMS8zXSBtd2lm aWV4OiByZW1vdmUgdW5uZWNlc3Nhcnkgd2FrZXVwIGludGVycnVwdA0KPiBudW1iZXIgc2FuaXR5 IGNoZWNrDQo+IA0KPiBFeHRlcm5hbCBFbWFpbA0KPiANCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBPbiBU aHUsIE1hciAzMCwgMjAxNyBhdCAyOjE5IEFNLCBYaW5taW5nIEh1IDxodXhpbm1pbmc4MjBAZ21h aWwuY29tPg0KPiB3cm90ZToNCj4gPiBGcm9tOiBYaW5taW5nIEh1IDxodXhtQG1hcnZlbGwuY29t Pg0KPiA+DQo+ID4gU2FuaXR5IGNoZWNrIG9mIGludGVycnVwdCBudW1iZXIgaW4gaW50ZXJydXB0 IGhhbmRsZXIgaXMgdW5uZWNlc3NhcnkNCj4gPiBhbmQgY29uZnVzaW9uLCByZW1vdmUgaXQuDQo+ IA0KPiBJJ2QgcmV3b3JkZWQgdGhlIGV4cGxhbmF0aW9uIGEgYml0OiAiSWYgd2FrZXVwIGludGVy cnVwdCBoYW5kbGVyIGlzIGNhbGxlZCwgd2UNCj4ga25vdyB0aGF0IHRoZSB3YWtldXAgaW50ZXJy dXB0IG51bWJlciBpcyB2YWxpZCwgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpdC4iDQo+IA0K PiBPdGhlcndpc2U6DQo+IA0KPiBSZXZpZXdlZC1ieTogRG1pdHJ5IFRvcm9raG92IDxkdG9yQGNo cm9taXVtLm9yZz4NCj4gDQoNClRoYW5rcyBmb3IgdGhlIHJldmlldy4gV2lsbCByZXdvcmQgaW4g VjIuDQoNClRoYW5rcw0KU2ltb24NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFhpbm1pbmcgSHUg PGh1eG1AbWFydmVsbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogQW1pdGt1bWFyIEthcndhciA8 YWthcndhckBtYXJ2ZWxsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9uZXQvd2lyZWxlc3Mv bWFydmVsbC9td2lmaWV4L21haW4uYyB8IDggKysrLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvbWFpbi5jDQo+ID4gYi9kcml2ZXJz L25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvbWFpbi5jDQo+ID4gaW5kZXggMzBmNDk5NC4u NWU4MjYwMiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213 aWZpZXgvbWFpbi5jDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lm aWV4L21haW4uYw0KPiA+IEBAIC0xNTAzLDExICsxNTAzLDkgQEAgc3RhdGljIGlycXJldHVybl90 DQo+ID4gbXdpZmlleF9pcnFfd2FrZXVwX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqcHJpdikgIHsN Cj4gPiAgICAgICAgIHN0cnVjdCBtd2lmaWV4X2FkYXB0ZXIgKmFkYXB0ZXIgPSBwcml2Ow0KPiA+ DQo+ID4gLSAgICAgICBpZiAoYWRhcHRlci0+aXJxX3dha2V1cCA+PSAwKSB7DQo+ID4gLSAgICAg ICAgICAgICAgIGRldl9kYmcoYWRhcHRlci0+ZGV2LCAiJXM6IHdha2UgYnkgd2lmaSIsIF9fZnVu Y19fKTsNCj4gPiAtICAgICAgICAgICAgICAgYWRhcHRlci0+d2FrZV9ieV93aWZpID0gdHJ1ZTsN Cj4gPiAtICAgICAgICAgICAgICAgZGlzYWJsZV9pcnFfbm9zeW5jKGlycSk7DQo+ID4gLSAgICAg ICB9DQo+ID4gKyAgICAgICBkZXZfZGJnKGFkYXB0ZXItPmRldiwgIiVzOiB3YWtlIGJ5IHdpZmki LCBfX2Z1bmNfXyk7DQo+ID4gKyAgICAgICBhZGFwdGVyLT53YWtlX2J5X3dpZmkgPSB0cnVlOw0K PiA+ICsgICAgICAgZGlzYWJsZV9pcnFfbm9zeW5jKGlycSk7DQo+ID4NCj4gPiAgICAgICAgIC8q IE5vdGlmeSBQTSBjb3JlIHdlIGFyZSB3YWtldXAgc291cmNlICovDQo+ID4gICAgICAgICBwbV93 YWtldXBfZXZlbnQoYWRhcHRlci0+ZGV2LCAwKTsNCj4gPiAtLQ0KPiA+IDEuOC4xLjQNCj4gPg0K ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2017-04-06 8:14 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-03-30 9:19 [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Xinming Hu 2017-03-30 9:19 ` [PATCH 2/3] mwifiex: using general print function during device intialization Xinming Hu 2017-03-31 22:46 ` Dmitry Torokhov 2017-04-03 18:42 ` Brian Norris 2017-04-05 6:41 ` Xinming Hu 2017-03-30 9:19 ` [PATCH 3/3] mwifiex: pcie: avoid hardcode wifi-only firmware name Xinming Hu 2017-03-31 22:50 ` Dmitry Torokhov 2017-04-03 18:48 ` Brian Norris 2017-04-06 8:08 ` [EXT] " Xinming Hu 2017-04-06 8:05 ` Xinming Hu 2017-04-05 10:47 ` [3/3] " Kalle Valo [not found] ` <20170405104711.1092260DC7@smtp.codeaurora.org> 2017-04-06 8:14 ` RE:] " Xinming Hu 2017-03-31 22:37 ` [PATCH 1/3] mwifiex: remove unnecessary wakeup interrupt number sanity check Dmitry Torokhov 2017-04-03 18:33 ` Brian Norris 2017-04-05 5:23 ` Xinming Hu 2017-04-05 5:16 ` [EXT] " Xinming Hu
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.