diff mbox

ath5k: Fix lockup due to un-init spinlock.

Message ID 1304720674-27031-1-git-send-email-greearb@candelatech.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Ben Greear May 6, 2011, 10:24 p.m. UTC
From: Ben Greear <greearb@candelatech.com>

This was introduced in 2.6.39-rc1 it seems.

Signed-off-by: Ben Greear <greearb@candelatech.com>
---
:100644 100644 203243b... 2204762... M	drivers/net/wireless/ath/ath5k/base.c
 drivers/net/wireless/ath/ath5k/base.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

John W. Linville May 10, 2011, 7:42 p.m. UTC | #1
When applied to wireless-2.6, I get this:

  CC [M]  drivers/net/wireless/ath/ath5k/base.o
drivers/net/wireless/ath/ath5k/base.c: In function ‘ath5k_init_softc’:
drivers/net/wireless/ath/ath5k/base.c:2357:2: error: ‘struct ath5k_softc’ has no member named ‘irqlock’
drivers/net/wireless/ath/ath5k/base.c:2357:2: error: ‘struct ath5k_softc’ has no member named ‘irqlock’

Is this only for -next?

On Fri, May 06, 2011 at 03:24:34PM -0700, greearb@candelatech.com wrote:
> From: Ben Greear <greearb@candelatech.com>
> 
> This was introduced in 2.6.39-rc1 it seems.
> 
> Signed-off-by: Ben Greear <greearb@candelatech.com>
> ---
> :100644 100644 203243b... 2204762... M	drivers/net/wireless/ath/ath5k/base.c
>  drivers/net/wireless/ath/ath5k/base.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
> index 203243b..2204762 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -2394,7 +2394,7 @@ ath5k_init_softc(struct ath5k_softc *sc, const struct ath_bus_ops *bus_ops)
>  	spin_lock_init(&sc->rxbuflock);
>  	spin_lock_init(&sc->txbuflock);
>  	spin_lock_init(&sc->block);
> -
> +	spin_lock_init(&sc->irqlock);
>  
>  	/* Setup interrupt handler */
>  	ret = request_irq(sc->irq, ath5k_intr, IRQF_SHARED, "ath", sc);
> -- 
> 1.7.3.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Sedat Dilek May 10, 2011, 7:48 p.m. UTC | #2
On Sat, May 7, 2011 at 12:24 AM,  <greearb@candelatech.com> wrote:
> From: Ben Greear <greearb@candelatech.com>
>
> This was introduced in 2.6.39-rc1 it seems.
>
> Signed-off-by: Ben Greear <greearb@candelatech.com>
> ---
> :100644 100644 203243b... 2204762... M  drivers/net/wireless/ath/ath5k/base.c
>  drivers/net/wireless/ath/ath5k/base.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
> index 203243b..2204762 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -2394,7 +2394,7 @@ ath5k_init_softc(struct ath5k_softc *sc, const struct ath_bus_ops *bus_ops)
>        spin_lock_init(&sc->rxbuflock);
>        spin_lock_init(&sc->txbuflock);
>        spin_lock_init(&sc->block);
> -
> +       spin_lock_init(&sc->irqlock);
>
>        /* Setup interrupt handler */
>        ret = request_irq(sc->irq, ath5k_intr, IRQF_SHARED, "ath", sc);
> --
> 1.7.3.4
>
>

Tested against linux-next (next-20110510).

- Sedat -
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Greear May 10, 2011, 7:53 p.m. UTC | #3
On 05/10/2011 12:42 PM, John W. Linville wrote:
> When applied to wireless-2.6, I get this:
>
>    CC [M]  drivers/net/wireless/ath/ath5k/base.o
> drivers/net/wireless/ath/ath5k/base.c: In function ‘ath5k_init_softc’:
> drivers/net/wireless/ath/ath5k/base.c:2357:2: error: ‘struct ath5k_softc’ has no member named ‘irqlock’
> drivers/net/wireless/ath/ath5k/base.c:2357:2: error: ‘struct ath5k_softc’ has no member named ‘irqlock’
>
> Is this only for -next?

This is against wireless-testing.  Maybe I was confused about this being in 2.6.39-rcX.

Bug was caused by this commit as far as I can tell:

Author: Felix Fietkau <nbd@openwrt.org>  2011-04-10 09:32:19
Committer: John W. Linville <linville@tuxdriver.com>  2011-04-12 13:59:27
Parent: 5b7916ad8c29da9f30fbf03a8b61862acdba00ce (ath5k: clean up debugfs code)
Child:  8962d87129ec0a820d17ac44cbf3f51010ad8db8 (ath5k: improve comments for optimized tx descriptor setup)
Child:  1d4af019d920c838e4de81afa0b5d67879090fd5 (Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6)
Branches: master, remotes/origin/master
Follows: v2.6.37-rc1
Precedes:


Thanks,
Ben
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 203243b..2204762 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -2394,7 +2394,7 @@  ath5k_init_softc(struct ath5k_softc *sc, const struct ath_bus_ops *bus_ops)
 	spin_lock_init(&sc->rxbuflock);
 	spin_lock_init(&sc->txbuflock);
 	spin_lock_init(&sc->block);
-
+	spin_lock_init(&sc->irqlock);
 
 	/* Setup interrupt handler */
 	ret = request_irq(sc->irq, ath5k_intr, IRQF_SHARED, "ath", sc);