NimBLE host: Modify `ble_gap_wl_set` to support clearing complete whitelist
* Modify test case `*_wl_bad_args` to accept 0 whitelist entries.
diff --git a/nimble/host/src/ble_gap.c b/nimble/host/src/ble_gap.c
index 8e56df1..3125870 100644
--- a/nimble/host/src/ble_gap.c
+++ b/nimble/host/src/ble_gap.c
@@ -2169,11 +2169,6 @@
ble_hs_lock();
- if (white_list_count == 0) {
- rc = BLE_HS_EINVAL;
- goto done;
- }
-
for (i = 0; i < white_list_count; i++) {
if (addrs[i].type != BLE_ADDR_PUBLIC &&
addrs[i].type != BLE_ADDR_RANDOM) {
diff --git a/nimble/host/test/src/ble_gap_test.c b/nimble/host/test/src/ble_gap_test.c
index 7496e31..876ef8f 100644
--- a/nimble/host/test/src/ble_gap_test.c
+++ b/nimble/host/test/src/ble_gap_test.c
@@ -449,9 +449,10 @@
ble_gap_test_util_init();
- /*** 0 white list entries. */
+ /*** 0 white list entries. This is acceptable now with the wl_set API
+ * change. */
rc = ble_hs_test_util_wl_set(NULL, 0, 0, 0);
- TEST_ASSERT(rc == BLE_HS_EINVAL);
+ TEST_ASSERT(rc == 0);
/*** Invalid address type. */
rc = ble_hs_test_util_wl_set(