--- linux-2.6.18.noarch/drivers/net/wireless/iwlwifi/iwl-agn.c.orig 2008-10-24 14:34:48.000000000 -0400 +++ linux-2.6.18.noarch/drivers/net/wireless/iwlwifi/iwl-agn.c 2008-10-24 14:36:10.000000000 -0400 @@ -3263,7 +3263,11 @@ static void iwl4965_mac_update_tkip_key( return; } - iwl_scan_cancel_timeout(priv, 100); + if (iwl_scan_cancel(priv)) { + /* cancel scan failed, just live w/ bad key and rely + briefly on SW decrpyption */ + 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);