lkml.org 
[lkml]   [2008]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: Wireless-testing's b43 panics in b43_generate_txhdr on packet transmit
From
Date
On Mon, 2008-06-02 at 00:08 -0400, Pavel Roskin wrote:

> wep_encrypt_skb() in wep.c would not return TX_CONTINUE. But most
> importantly, there is a suspicious change in wep_encrypt_skb() - the
> key is set in the other branch of the condition.
>
> I'll try to restore the original logic in wep.c. I'll post a patch if
> it works.

That was it! Here's the patch (I'll submit it to John tomorrow if nobody objects).


mac80211: fix hardware WEP support

Setting hardware WEP key was accidentally moved to a wrong place in
57ccbb1cbe3f8e10a500ff8b9fb26dc1a542fe99. Move it back. This fixes
kernel panic in b43 if WEP is used.

Signed-off-by: Pavel Roskin <proski@gnu.org>
---

net/mac80211/wep.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/wep.c b/net/mac80211/wep.c
index c9fd129..e7b6344 100644
--- a/net/mac80211/wep.c
+++ b/net/mac80211/wep.c
@@ -335,10 +335,10 @@ static int wep_encrypt_skb(struct ieee80211_tx_data *tx, struct sk_buff *skb)
info->control.icv_len = WEP_ICV_LEN;

if (!(tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)) {
- info->control.hw_key = &tx->key->conf;
if (ieee80211_wep_encrypt(tx->local, skb, tx->key))
return -1;
} else {
+ info->control.hw_key = &tx->key->conf;
if (tx->key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV) {
if (!ieee80211_wep_add_iv(tx->local, skb, tx->key))
return -1;

--
Regards,
Pavel Roskin


\
 
 \ /
  Last update: 2008-06-02 06:55    [W:0.058 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site