summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/char/diag/diagfwd_cntl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/char/diag/diagfwd_cntl.c b/drivers/char/diag/diagfwd_cntl.c
index 8fb9227d8cb8..a969ee02655a 100644
--- a/drivers/char/diag/diagfwd_cntl.c
+++ b/drivers/char/diag/diagfwd_cntl.c
@@ -613,7 +613,12 @@ static int update_msg_mask_tbl_entry(struct diag_msg_mask_t *mask,
}
if (range->ssid_last >= mask->ssid_last) {
temp_range = range->ssid_last - mask->ssid_first + 1;
- mask->ssid_last = range->ssid_last;
+ if (temp_range > MAX_SSID_PER_RANGE) {
+ temp_range = MAX_SSID_PER_RANGE;
+ mask->ssid_last = mask->ssid_first + temp_range - 1;
+ } else
+ mask->ssid_last = range->ssid_last;
+ mask->ssid_last_tools = mask->ssid_last;
mask->range = temp_range;
}