Patch 
7f1f9742514 "iwlegacy: refactor iwl4965_mac_channel_switch"
reversed a test and also it changed a spin_lock_irq() to
spin_lock().  I assume the spin_lock change was a mistake because
the unlock was left as spin_unlock_irq().
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
        if (!iwl_legacy_is_associated_ctx(ctx))
                goto out;
 
-       if (priv->cfg->ops->lib->set_channel_switch)
+       if (!priv->cfg->ops->lib->set_channel_switch)
                goto out;
 
        ch = channel->hw_value;
                goto out;
        }
 
-       spin_lock(&priv->lock);
+       spin_lock_irq(&priv->lock);
 
        priv->current_ht_config.smps = conf->smps_mode;