2013-11-10 19:06:43

by Michal Nazarewicz

[permalink] [raw]
Subject: [PATCH] net: wireless: iwlwifi: remove minor dead code

From: Michal Nazarewicz <[email protected]>

inta is checked to be zero in a IRQ_NONE branch so afterwards it
cannot be zero as it is never modified.

Signed-off-by: Michal Nazarewicz <[email protected]>
---
drivers/net/wireless/iwlwifi/pcie/rx.c | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/pcie/rx.c b/drivers/net/wireless/iwlwifi/pcie/rx.c
index 3f237b4..c32122a 100644
--- a/drivers/net/wireless/iwlwifi/pcie/rx.c
+++ b/drivers/net/wireless/iwlwifi/pcie/rx.c
@@ -1121,7 +1121,6 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
struct iwl_trans *trans = data;
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
u32 inta, inta_mask;
- irqreturn_t ret = IRQ_NONE;

lockdep_assert_held(&trans_pcie->irq_lock);

@@ -1150,7 +1149,13 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
* or due to sporadic interrupts thrown from our NIC. */
if (!inta) {
IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n");
- goto none;
+ /* re-enable interrupts here since we don't have anything to
+ * service. only Re-enable if disabled by irq and no
+ * schedules tasklet. */
+ if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
+ !trans_pcie->inta)
+ iwl_enable_interrupts(trans);
+ return IRQ_NONE;
}

if ((inta == 0xFFFFFFFF) || ((inta & 0xFFFFFFF0) == 0xa5a5a5a0)) {
@@ -1168,19 +1173,7 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)

trans_pcie->inta |= inta;
/* the thread will service interrupts and re-enable them */
- if (likely(inta))
- return IRQ_WAKE_THREAD;
-
- ret = IRQ_HANDLED;
-
-none:
- /* re-enable interrupts here since we don't have anything to service. */
- /* only Re-enable if disabled by irq and no schedules tasklet. */
- if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
- !trans_pcie->inta)
- iwl_enable_interrupts(trans);
-
- return ret;
+ return IRQ_WAKE_THREAD;
}

/* interrupt handler using ict table, with this interrupt driver will
--
1.8.3.2



2013-11-12 05:24:10

by Emmanuel Grumbach

[permalink] [raw]
Subject: Re: [PATCHv2.1] net: wireless: iwlwifi: remove minor dead code



On 11/12/2013 02:01 AM, Michal Nazarewicz wrote:
> inta is checked to be zero in a IRQ_NONE branch so afterwards it
> cannot be zero as it is never modified.
>
> Signed-off-by: Michal Nazarewicz <[email protected]>
> ---
> drivers/net/wireless/iwlwifi/pcie/rx.c | 24 +++++++++---------------
> 1 file changed, 9 insertions(+), 15 deletions(-)
>
> On Mon, Nov 11 2013, Johannes Berg wrote:
>> no signed-off-by
>
> Sorry, fixed. Interestingly, I did not forget about it in my first patch.
>

no worries - I picked it up in our internal tree.
Thanks!

2013-11-12 00:01:30

by Michal Nazarewicz

[permalink] [raw]
Subject: [PATCHv2.1] net: wireless: iwlwifi: remove minor dead code

inta is checked to be zero in a IRQ_NONE branch so afterwards it
cannot be zero as it is never modified.

Signed-off-by: Michal Nazarewicz <[email protected]>
---
drivers/net/wireless/iwlwifi/pcie/rx.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)

On Mon, Nov 11 2013, Johannes Berg wrote:
> no signed-off-by

Sorry, fixed. Interestingly, I did not forget about it in my first patch.

diff --git a/drivers/net/wireless/iwlwifi/pcie/rx.c b/drivers/net/wireless/iwlwifi/pcie/rx.c
index 3f237b4..7d0fdc0 100644
--- a/drivers/net/wireless/iwlwifi/pcie/rx.c
+++ b/drivers/net/wireless/iwlwifi/pcie/rx.c
@@ -1121,7 +1121,6 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
struct iwl_trans *trans = data;
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
u32 inta, inta_mask;
- irqreturn_t ret = IRQ_NONE;

lockdep_assert_held(&trans_pcie->irq_lock);

@@ -1150,7 +1149,14 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
* or due to sporadic interrupts thrown from our NIC. */
if (!inta) {
IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n");
- goto none;
+ /* re-enable interrupts here since we don't have anything to
+ * service. only Re-enable if disabled by irq and no
+ * schedules tasklet.
+ */
+ if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
+ !trans_pcie->inta)
+ iwl_enable_interrupts(trans);
+ return IRQ_NONE;
}

if ((inta == 0xFFFFFFFF) || ((inta & 0xFFFFFFF0) == 0xa5a5a5a0)) {
@@ -1168,19 +1174,7 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)

trans_pcie->inta |= inta;
/* the thread will service interrupts and re-enable them */
- if (likely(inta))
- return IRQ_WAKE_THREAD;
-
- ret = IRQ_HANDLED;
-
-none:
- /* re-enable interrupts here since we don't have anything to service. */
- /* only Re-enable if disabled by irq and no schedules tasklet. */
- if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
- !trans_pcie->inta)
- iwl_enable_interrupts(trans);
-
- return ret;
+ return IRQ_WAKE_THREAD;
}

/* interrupt handler using ict table, with this interrupt driver will
--
1.8.3.2

2013-11-11 13:42:06

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCHv2] net: wireless: iwlwifi: remove minor dead code

On Sun, 2013-11-10 at 21:17 +0100, Michal Nazarewicz wrote:
> inta is checked to be zero in a IRQ_NONE branch so afterwards it
> cannot be zero as it is never modified.

no signed-off-by


> @@ -1150,7 +1149,14 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
> * or due to sporadic interrupts thrown from our NIC. */
> if (!inta) {
> IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n");
> - goto none;
> + /* re-enable interrupts here since we don't have anything to
> + * service. only Re-enable if disabled by irq and no
> + * schedules tasklet.
> + */
> + if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
> + !trans_pcie->inta)
> + iwl_enable_interrupts(trans);
> + return IRQ_NONE;

I don't really think duplicating this is really an improvement?

johannes


2013-11-10 20:18:01

by Michal Nazarewicz

[permalink] [raw]
Subject: [PATCHv2] net: wireless: iwlwifi: remove minor dead code


inta is checked to be zero in a IRQ_NONE branch so afterwards it
cannot be zero as it is never modified.
---
drivers/net/wireless/iwlwifi/pcie/rx.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)

On Sun, Nov 10 2013, Sergei Shtylyov wrote:
> The preferred way of formatting the multi-line comments in the
> networking code is this:
>
> /* bla
> * bla
> */

Works for me. I used /* bla \n * bla */ because this is what the rest
of this function was using.

diff --git a/drivers/net/wireless/iwlwifi/pcie/rx.c b/drivers/net/wireless/iwlwifi/pcie/rx.c
index 3f237b4..7d0fdc0 100644
--- a/drivers/net/wireless/iwlwifi/pcie/rx.c
+++ b/drivers/net/wireless/iwlwifi/pcie/rx.c
@@ -1121,7 +1121,6 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
struct iwl_trans *trans = data;
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
u32 inta, inta_mask;
- irqreturn_t ret = IRQ_NONE;

lockdep_assert_held(&trans_pcie->irq_lock);

@@ -1150,7 +1149,14 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
* or due to sporadic interrupts thrown from our NIC. */
if (!inta) {
IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n");
- goto none;
+ /* re-enable interrupts here since we don't have anything to
+ * service. only Re-enable if disabled by irq and no
+ * schedules tasklet.
+ */
+ if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
+ !trans_pcie->inta)
+ iwl_enable_interrupts(trans);
+ return IRQ_NONE;
}

if ((inta == 0xFFFFFFFF) || ((inta & 0xFFFFFFF0) == 0xa5a5a5a0)) {
@@ -1168,19 +1174,7 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)

trans_pcie->inta |= inta;
/* the thread will service interrupts and re-enable them */
- if (likely(inta))
- return IRQ_WAKE_THREAD;
-
- ret = IRQ_HANDLED;
-
-none:
- /* re-enable interrupts here since we don't have anything to service. */
- /* only Re-enable if disabled by irq and no schedules tasklet. */
- if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
- !trans_pcie->inta)
- iwl_enable_interrupts(trans);
-
- return ret;
+ return IRQ_WAKE_THREAD;
}

/* interrupt handler using ict table, with this interrupt driver will
--
1.8.3.2

2013-11-11 13:42:46

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCHv2] net: wireless: iwlwifi: remove minor dead code

On Mon, 2013-11-11 at 14:41 +0100, Johannes Berg wrote:
> > @@ -1150,7 +1149,14 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
> > * or due to sporadic interrupts thrown from our NIC. */
> > if (!inta) {
> > IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n");
> > - goto none;
> > + /* re-enable interrupts here since we don't have anything to
> > + * service. only Re-enable if disabled by irq and no
> > + * schedules tasklet.
> > + */
> > + if (test_bit(STATUS_INT_ENABLED, &trans_pcie->status) &&
> > + !trans_pcie->inta)
> > + iwl_enable_interrupts(trans);
> > + return IRQ_NONE;
>
> I don't really think duplicating this is really an improvement?

Err, sorry, not paying attention.

johannes


2013-11-10 19:15:30

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] net: wireless: iwlwifi: remove minor dead code

Hello.

On 10-11-2013 23:06, Michal Nazarewicz wrote:

> From: Michal Nazarewicz <[email protected]>

> inta is checked to be zero in a IRQ_NONE branch so afterwards it
> cannot be zero as it is never modified.

> Signed-off-by: Michal Nazarewicz <[email protected]>
> ---
> drivers/net/wireless/iwlwifi/pcie/rx.c | 23 ++++++++---------------
> 1 file changed, 8 insertions(+), 15 deletions(-)

> diff --git a/drivers/net/wireless/iwlwifi/pcie/rx.c b/drivers/net/wireless/iwlwifi/pcie/rx.c
> index 3f237b4..c32122a 100644
> --- a/drivers/net/wireless/iwlwifi/pcie/rx.c
> +++ b/drivers/net/wireless/iwlwifi/pcie/rx.c
[...]
> @@ -1150,7 +1149,13 @@ static irqreturn_t iwl_pcie_isr(int irq, void *data)
> * or due to sporadic interrupts thrown from our NIC. */
> if (!inta) {
> IWL_DEBUG_ISR(trans, "Ignore interrupt, inta == 0\n");
> - goto none;
> + /* re-enable interrupts here since we don't have anything to
> + * service. only Re-enable if disabled by irq and no
> + * schedules tasklet. */

The preferred way of formatting the multi-line comments in the networking
code is this:

/* bla
* bla
*/

WBR, Sergei