This appears to have been fixed upstream by:
commit 964d2777438bf7687324243d38ade538d9bbfe3c
Author: John W. Linville <linville@tuxdriver.com>
Date: Thu Oct 30 14:12:21 2008 -0400
iwlagn: avoid sleep in softirq context
Adjusted for the lenny kernel, the fix would be:
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -6791,7 +6791,11 @@ static void iwl4965_mac_update_tkip_key(struct ieee80211_hw *hw,
return;
}
- iwl4965_scan_cancel_timeout(priv, 100);
+ if (iwl4965_scan_cancel(priv)) {
+ /* cancel scan failed, just live w/ bad key and rely
+ briefly on SW decryption */
+ return;
+ }
key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK);
key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS);
--- END ---
Ben.
--
Ben Hutchings
Logic doesn't apply to the real world. - Marvin Minsky
Attachment:
signature.asc
Description: This is a digitally signed message part