Search Linux Wireless

[PATCH] ath9k: fix oops on trying to hold the wrong spinlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> wrote:

> On Fri, Oct 3, 2008 at 3:45 PM, Luis R. Rodriguez
> <lrodriguez@xxxxxxxxxxx> wrote:
> > We were trying to hold the wrong spinlock due to a typo
> > on IEEE80211_BAR_CTL_TID_S's definition. We use this to
> > compute the tid number and then hold this this tid number's
> > spinlock.
> >
> > Signed-off-by: Vasanthakumar Thiagarajan <vasanth@xxxxxxxxxxx>
> > Signed-off-by: Sujith <Sujith.Manoharan@xxxxxxxxxxx>
> > Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
> 
> Just a head up John -- Ingo has already sucked this into his tree with 
> a proper Reported-by. We still need it in wireless-testing though, not 
> sure how that will be handled.

Small sidenote: in terms of upstream merging tip/out-of-tree is a 
dead-end (as its name implies) - it's a special temporary throw-away 
branch for hot fixes that fall outside the normal scope of -tip. We 
periodically rebase tip/out-of-tree against -git and throw away patches 
that go upstream via other routes. It's never merged directly to Linus. 
Perhaps we should rename it tip/not-for-linus ?

So we are glad to test out patches, but John please apply the patch 
below to the wireless tree so that it's not lost. (probably for 
v2.6.27.1) We are just helping out with testing and we do not want to 
interfere in any way with the wireless git workflow.

	Ingo

------------------>
>From fff3ddac71cf05dda8501a3449c167340e46b755 Mon Sep 17 00:00:00 2001
From: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
Date: Fri, 3 Oct 2008 04:49:21 -0700
Subject: [PATCH] ath9k: fix oops on trying to hold the wrong spinlock

Steven Noonan reported a crash that occurs during ath9k module load.

We were trying to hold the wrong spinlock due to a typo
on IEEE80211_BAR_CTL_TID_S's definition. We use this to
compute the tid number and then hold this this tid number's
spinlock during ath_bar_rx().

Reported-by: Steven Noonan <steven@xxxxxxxxxxxxxx>
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@xxxxxxxxxxx>
Signed-off-by: Sujith <Sujith.Manoharan@xxxxxxxxxxx>
Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
Tested-by: Steven Noonan <steven@xxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
 drivers/net/wireless/ath9k/core.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h
index 2f84093..88f4cc3 100644
--- a/drivers/net/wireless/ath9k/core.h
+++ b/drivers/net/wireless/ath9k/core.h
@@ -316,7 +316,7 @@ void ath_descdma_cleanup(struct ath_softc *sc,
 #define ATH_RX_TIMEOUT           40      /* 40 milliseconds */
 #define WME_NUM_TID              16
 #define IEEE80211_BAR_CTL_TID_M  0xF000  /* tid mask */
-#define IEEE80211_BAR_CTL_TID_S  2       /* tid shift */
+#define IEEE80211_BAR_CTL_TID_S  12      /* tid shift */
 
 enum ATH_RX_TYPE {
 	ATH_RX_NON_CONSUMED = 0,
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux