diff --git a/nimble/controller/src/ble_ll_scan.c b/nimble/controller/src/ble_ll_scan.c index 736383197..901bda7c4 100644 --- a/nimble/controller/src/ble_ll_scan.c +++ b/nimble/controller/src/ble_ll_scan.c @@ -2028,7 +2028,7 @@ ble_ll_scan_set_scan_params(const uint8_t *cmdbuf, uint8_t len) #if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_EXT_ADV) static int -ble_ll_check_scan_params(uint8_t type, uint16_t itvl, uint16_t window) +ble_ll_scan_check_phy_params(uint8_t type, uint16_t itvl, uint16_t window) { /* Check scan type */ if ((type != BLE_HCI_SCAN_TYPE_PASSIVE) && @@ -2038,9 +2038,9 @@ ble_ll_check_scan_params(uint8_t type, uint16_t itvl, uint16_t window) /* Check interval and window */ if ((itvl < BLE_HCI_SCAN_ITVL_MIN) || - (itvl > BLE_HCI_SCAN_ITVL_MAX) || + (itvl > BLE_HCI_SCAN_ITVL_MAX_EXT) || (window < BLE_HCI_SCAN_WINDOW_MIN) || - (window > BLE_HCI_SCAN_WINDOW_MAX) || + (window > BLE_HCI_SCAN_WINDOW_MAX_EXT) || (itvl < window)) { return BLE_ERR_INV_HCI_CMD_PARMS; } @@ -2098,7 +2098,7 @@ ble_ll_set_ext_scan_params(const uint8_t *cmdbuf, uint8_t len) interval = le16toh(params->itvl); window = le16toh(params->window); - rc = ble_ll_check_scan_params(params->type, interval, window); + rc = ble_ll_scan_check_phy_params(params->type, interval, window); if (rc) { return rc; } @@ -2122,7 +2122,7 @@ ble_ll_set_ext_scan_params(const uint8_t *cmdbuf, uint8_t len) interval = le16toh(params->itvl); window = le16toh(params->window); - rc = ble_ll_check_scan_params(params->type, interval, window); + rc = ble_ll_scan_check_phy_params(params->type, interval, window); if (rc) { return rc; } diff --git a/nimble/include/nimble/hci_common.h b/nimble/include/nimble/hci_common.h index 92031c3c1..9acb76238 100644 --- a/nimble/include/nimble/hci_common.h +++ b/nimble/include/nimble/hci_common.h @@ -1152,11 +1152,13 @@ struct ble_hci_vs_rd_static_addr_rp { /* Scan interval and scan window timing */ #define BLE_HCI_SCAN_ITVL (625) /* usecs */ -#define BLE_HCI_SCAN_ITVL_MIN (4) /* units */ -#define BLE_HCI_SCAN_ITVL_MAX (16384) /* units */ +#define BLE_HCI_SCAN_ITVL_MIN (0x0004) /* units */ +#define BLE_HCI_SCAN_ITVL_MAX (0x4000) /* units */ +#define BLE_HCI_SCAN_ITVL_MAX_EXT (0xffff) /* units */ #define BLE_HCI_SCAN_ITVL_DEF (16) /* units */ -#define BLE_HCI_SCAN_WINDOW_MIN (4) /* units */ -#define BLE_HCI_SCAN_WINDOW_MAX (16384) /* units */ +#define BLE_HCI_SCAN_WINDOW_MIN (0x0004) /* units */ +#define BLE_HCI_SCAN_WINDOW_MAX (0x4000) /* units */ +#define BLE_HCI_SCAN_WINDOW_MAX_EXT (0xffff) /* units */ #define BLE_HCI_SCAN_WINDOW_DEF (16) /* units */ /*