aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/p54/eeprom.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/p54/eeprom.c b/drivers/net/wireless/p54/eeprom.c
index 1ef1bfe6a9d7..d43e3740e45d 100644
--- a/drivers/net/wireless/p54/eeprom.c
+++ b/drivers/net/wireless/p54/eeprom.c
@@ -541,8 +541,9 @@ static int p54_parse_rssical(struct ieee80211_hw *dev,
541 entries = (len - offset) / 541 entries = (len - offset) /
542 sizeof(struct pda_rssi_cal_ext_entry); 542 sizeof(struct pda_rssi_cal_ext_entry);
543 543
544 if ((len - offset) % sizeof(struct pda_rssi_cal_ext_entry) || 544 if (len < offset ||
545 entries <= 0) { 545 (len - offset) % sizeof(struct pda_rssi_cal_ext_entry) ||
546 entries == 0) {
546 wiphy_err(dev->wiphy, "invalid rssi database.\n"); 547 wiphy_err(dev->wiphy, "invalid rssi database.\n");
547 goto err_data; 548 goto err_data;
548 } 549 }