priv->wpa.txkey = index;
                        commit |= SME_WEP_INDEX;
                } else if (enc->ext_flags & IW_ENCODE_EXT_RX_SEQ_VALID) {
-                       if (enc->rx_seq)
-                               memcpy(&priv->wpa.key[index].rx_seq[0],
-                                      enc->rx_seq, IW_ENCODE_SEQ_MAX_SIZE);
-                       else
-                               return -EINVAL;
+                       memcpy(&priv->wpa.key[index].rx_seq[0],
+                              enc->rx_seq, IW_ENCODE_SEQ_MAX_SIZE);
                }
 
                memcpy(&priv->wpa.key[index].addr.sa_data[0],
                                priv->reg.privacy_invoked = 0x01;
                                commit |= SME_WEP_FLAG;
                        }
-                       if (enc->key && enc->key_len) {
+                       if (enc->key_len) {
                                memcpy(&priv->wpa.key[index].key_val[0],
                                       &enc->key[0], enc->key_len);
                                priv->wpa.key[index].key_len = enc->key_len;
                                priv->reg.privacy_invoked = 0x01;
                                commit |= SME_WEP_FLAG;
                        }
-                       if (enc->key && enc->key_len == 32) {
+                       if (enc->key_len == 32) {
                                memcpy(&priv->wpa.key[index].key_val[0],
                                       &enc->key[0], enc->key_len - 16);
                                priv->wpa.key[index].key_len =