bt_dev_dbg(hdev, "debug_keys %u key_count %u", cp->debug_keys,
                   key_count);
 
-       for (i = 0; i < key_count; i++) {
-               struct mgmt_link_key_info *key = &cp->keys[i];
-
-               if (key->addr.type != BDADDR_BREDR || key->type > 0x08)
-                       return mgmt_cmd_status(sk, hdev->id,
-                                              MGMT_OP_LOAD_LINK_KEYS,
-                                              MGMT_STATUS_INVALID_PARAMS);
-       }
-
        hci_dev_lock(hdev);
 
        hci_link_keys_clear(hdev);
                        continue;
                }
 
+               if (key->addr.type != BDADDR_BREDR) {
+                       bt_dev_warn(hdev,
+                                   "Invalid link address type %u for %pMR",
+                                   key->addr.type, &key->addr.bdaddr);
+                       continue;
+               }
+
+               if (key->type > 0x08) {
+                       bt_dev_warn(hdev, "Invalid link key type %u for %pMR",
+                                   key->type, &key->addr.bdaddr);
+                       continue;
+               }
+
                /* Always ignore debug keys and require a new pairing if
                 * the user wants to use them.
                 */
 
        bt_dev_dbg(hdev, "key_count %u", key_count);
 
-       for (i = 0; i < key_count; i++) {
-               struct mgmt_ltk_info *key = &cp->keys[i];
-
-               if (!ltk_is_valid(key))
-                       return mgmt_cmd_status(sk, hdev->id,
-                                              MGMT_OP_LOAD_LONG_TERM_KEYS,
-                                              MGMT_STATUS_INVALID_PARAMS);
-       }
-
        hci_dev_lock(hdev);
 
        hci_smp_ltks_clear(hdev);
                        continue;
                }
 
+               if (!ltk_is_valid(key)) {
+                       bt_dev_warn(hdev, "Invalid LTK for %pMR",
+                                   &key->addr.bdaddr);
+                       continue;
+               }
+
                switch (key->type) {
                case MGMT_LTK_UNAUTHENTICATED:
                        authenticated = 0x00;