On Wed, Sep 17, 2008 at 03:05:59AM -0700, Partha Bagchi wrote: > Hi All, > > I download compat-wireless-2.6-old and compiled and installed it on a > Fedora 9 box. Here are the details: > > lspci > 06:00.0 Network controller: Atheros Communications Inc. > Unknown device 002a (rev 01) > uname -a > Linux Bordeaux 2.6.26.3-29.fc9.i686 #1 SMP Wed Sep 3 > 03:42:27 EDT 2008 i686 i686 i386 GNU/Linux
Please try appling the patch titled: "[PATCH] ath9k: connectivity is lost after Group rekeying is done" which was posted on linux-wireless. If that fixes your issue I can merge this patch on compat-wireless-old. I've attached the patch for your convenience, inline at the bottom and also as an attachment. Luis >From [EMAIL PROTECTED] Wed Sep 17 00:10:07 2008 Connectivtiy is lost after Group rekeying is done. The keytype maintained by ath9k is reset when group key is updated. Though sc_keytype can be reset only for broadcast key the proper fix would be to use mac80211 provided key type from txinfo during xmit and get rid of sc_keytype from ath9k ath_softc. Signed-off-by: Vasanthakumar Thiagarajan <[EMAIL PROTECTED]> Signed-off-by: Senthil Balasubramanian <[EMAIL PROTECTED]> --- drivers/net/wireless/ath9k/core.h | 1 - drivers/net/wireless/ath9k/main.c | 3 --- drivers/net/wireless/ath9k/xmit.c | 6 +++--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k= /core.h index b66de29..e8ccbe4 100644 --- a/drivers/net/wireless/ath9k/core.h +++ b/drivers/net/wireless/ath9k/core.h @@ -976,7 +976,6 @@ struct ath_softc { u32 sc_keymax; /* size of key cache */ DECLARE_BITMAP(sc_keymap, ATH_KEYMAX); /* key use bit map */ u8 sc_splitmic; /* split TKIP MIC keys */ - int sc_keytype; /* RX */ struct list_head sc_rxbuf; diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k= /main.c index 1ba1800..aca893a 100644 --- a/drivers/net/wireless/ath9k/main.c +++ b/drivers/net/wireless/ath9k/main.c @@ -204,8 +204,6 @@ static int ath_key_config(struct ath_softc *sc, if (!ret) return -EIO; - if (mac) - sc->sc_keytype =3D hk.kv_type; return 0; } @@ -1507,7 +1505,6 @@ static int ath9k_set_key(struct ieee80211_hw *hw, case DISABLE_KEY: ath_key_delete(sc, key); clear_bit(key->keyidx, sc->sc_keymap); - sc->sc_keytype =3D ATH9K_CIPHER_CLR; break; default: ret =3D -EINVAL; diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k= /xmit.c index 3fc6641..2592905 100644 --- a/drivers/net/wireless/ath9k/xmit.c +++ b/drivers/net/wireless/ath9k/xmit.c @@ -239,11 +239,11 @@ static int ath_tx_prepare(struct ath_softc *sc, txctl->keyix =3D tx_info->control.hw_key->hw_key_idx; txctl->frmlen +=3D tx_info->control.icv_len; - if (sc->sc_keytype =3D=3D ATH9K_CIPHER_WEP) + if (tx_info->control.hw_key->alg =3D=3D ALG_WEP) txctl->keytype =3D ATH9K_KEY_TYPE_WEP; - else if (sc->sc_keytype =3D=3D ATH9K_CIPHER_TKIP) + else if (tx_info->control.hw_key->alg =3D=3D ALG_TKIP) txctl->keytype =3D ATH9K_KEY_TYPE_TKIP; - else if (sc->sc_keytype =3D=3D ATH9K_CIPHER_AES_CCM) + else if (tx_info->control.hw_key->alg =3D=3D ALG_CCMP) txctl->keytype =3D ATH9K_KEY_TYPE_AES; } -- 1.5.5
>From [EMAIL PROTECTED] Wed Sep 17 00:10:07 2008 Received: from mail.atheros.com (10.12.4.23) by SC1EXHC-02.global.atheros.com (10.10.20.106) with Microsoft SMTP Server (TLS) id 8.0.751.0; Wed, 17 Sep 2008 00:10:05 -0700 Received: by mail.atheros.com (sSMTP sendmail emulation); Wed, 17 Sep 2008 12:39:49 +0530 From: Senthilkumar Balasubramanian <[EMAIL PROTECTED]> To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> CC: "John W. Linville" <[EMAIL PROTECTED]>, Luis Rodriguez <[EMAIL PROTECTED]>, Johannes Berg <[EMAIL PROTECTED]>, Jouni Malinen <[EMAIL PROTECTED]> Date: Wed, 17 Sep 2008 00:09:49 -0700 Subject: [PATCH] ath9k: connectivity is lost after Group rekeying is done Thread-Topic: [PATCH] ath9k: connectivity is lost after Group rekeying is done Thread-Index: AckYlGoNjJ2C1FdhR4ifPowWXgrvdg== Message-ID: <[EMAIL PROTECTED]> Accept-Language: en-US Content-Language: en-US X-MS-Exchange-Organization-AuthAs: Internal X-MS-Exchange-Organization-AuthMechanism: 06 X-MS-Exchange-Organization-AuthSource: SC1EXHC-02.global.atheros.com X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mutt/1.5.18 (2008-05-17) Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Status: RO Content-Length: 2849 Lines: 72 Connectivtiy is lost after Group rekeying is done. The keytype maintained by ath9k is reset when group key is updated. Though sc_keytype can be reset only for broadcast key the proper fix would be to use mac80211 provided key type from txinfo during xmit and get rid of sc_keytype from ath9k ath_softc. Signed-off-by: Vasanthakumar Thiagarajan <[EMAIL PROTECTED]> Signed-off-by: Senthil Balasubramanian <[EMAIL PROTECTED]> --- drivers/net/wireless/ath9k/core.h | 1 - drivers/net/wireless/ath9k/main.c | 3 --- drivers/net/wireless/ath9k/xmit.c | 6 +++--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k= /core.h index b66de29..e8ccbe4 100644 --- a/drivers/net/wireless/ath9k/core.h +++ b/drivers/net/wireless/ath9k/core.h @@ -976,7 +976,6 @@ struct ath_softc { u32 sc_keymax; /* size of key cache */ DECLARE_BITMAP(sc_keymap, ATH_KEYMAX); /* key use bit map */ u8 sc_splitmic; /* split TKIP MIC keys */ - int sc_keytype; /* RX */ struct list_head sc_rxbuf; diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k= /main.c index 1ba1800..aca893a 100644 --- a/drivers/net/wireless/ath9k/main.c +++ b/drivers/net/wireless/ath9k/main.c @@ -204,8 +204,6 @@ static int ath_key_config(struct ath_softc *sc, if (!ret) return -EIO; - if (mac) - sc->sc_keytype =3D hk.kv_type; return 0; } @@ -1507,7 +1505,6 @@ static int ath9k_set_key(struct ieee80211_hw *hw, case DISABLE_KEY: ath_key_delete(sc, key); clear_bit(key->keyidx, sc->sc_keymap); - sc->sc_keytype =3D ATH9K_CIPHER_CLR; break; default: ret =3D -EINVAL; diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k= /xmit.c index 3fc6641..2592905 100644 --- a/drivers/net/wireless/ath9k/xmit.c +++ b/drivers/net/wireless/ath9k/xmit.c @@ -239,11 +239,11 @@ static int ath_tx_prepare(struct ath_softc *sc, txctl->keyix =3D tx_info->control.hw_key->hw_key_idx; txctl->frmlen +=3D tx_info->control.icv_len; - if (sc->sc_keytype =3D=3D ATH9K_CIPHER_WEP) + if (tx_info->control.hw_key->alg =3D=3D ALG_WEP) txctl->keytype =3D ATH9K_KEY_TYPE_WEP; - else if (sc->sc_keytype =3D=3D ATH9K_CIPHER_TKIP) + else if (tx_info->control.hw_key->alg =3D=3D ALG_TKIP) txctl->keytype =3D ATH9K_KEY_TYPE_TKIP; - else if (sc->sc_keytype =3D=3D ATH9K_CIPHER_AES_CCM) + else if (tx_info->control.hw_key->alg =3D=3D ALG_CCMP) txctl->keytype =3D ATH9K_KEY_TYPE_AES; } -- 1.5.5
_______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel