#define MGMT_ADDR_BREDR                        0x00
 #define MGMT_ADDR_LE_PUBLIC            0x01
 #define MGMT_ADDR_LE_RANDOM            0x02
-#define MGMT_ADDR_INVALID              0xff
 
 #define DISCOV_TYPE_BREDR              (BIT(MGMT_ADDR_BREDR))
 #define DISCOV_TYPE_LE                 (BIT(MGMT_ADDR_LE_PUBLIC) | \
 
                switch (addr_type) {
                case ADDR_LE_DEV_PUBLIC:
                        return MGMT_ADDR_LE_PUBLIC;
-               case ADDR_LE_DEV_RANDOM:
-                       return MGMT_ADDR_LE_RANDOM;
+
                default:
-                       return MGMT_ADDR_INVALID;
+                       /* Fallback to LE Random address type */
+                       return MGMT_ADDR_LE_RANDOM;
                }
-       case ACL_LINK:
-               return MGMT_ADDR_BREDR;
+
        default:
-               return MGMT_ADDR_INVALID;
+               /* Fallback to BR/EDR type */
+               return MGMT_ADDR_BREDR;
        }
 }
 
                        continue;
                bacpy(&rp->addr[i].bdaddr, &c->dst);
                rp->addr[i].type = link_to_mgmt(c->type, c->dst_type);
-               if (rp->addr[i].type == MGMT_ADDR_INVALID)
+               if (c->type == SCO_LINK || c->type == ESCO_LINK)
                        continue;
                i++;
        }