DragonFlyBSD Kernel Audit
DF-1768 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/netif/ath/ath_hal/ar9002/ar9285_reset.c b/sys/dev/netif/ath/ath_hal/ar9002/ar9285_reset.c
--- a/sys/dev/netif/ath/ath_hal/ar9002/ar9285_reset.c
+++ b/sys/dev/netif/ath/ath_hal/ar9002/ar9285_reset.c
@@ -683,6 +683,8 @@
         for (i = 0; i < numXpdGains; i++) {
             minPwrT4[i] = pRawDataSet[idxL].pwrPdg[i][0];
             maxPwrT4[i] = pRawDataSet[idxL].pwrPdg[i][4];
+            if (maxPwrT4[i] <= minPwrT4[i])
+                continue;
             ath_ee_FillVpdTable(minPwrT4[i], maxPwrT4[i],
 			       pRawDataSet[idxL].pwrPdg[i],
                                pRawDataSet[idxL].vpdPdg[i],
@@ -700,6 +702,7 @@
 
             /* End Vpd interpolation from the min of the max powers */
             maxPwrT4[i] = AH_MIN(pPwrL[AR5416_PD_GAIN_ICEPTS - 1], pPwrR[AR5416_PD_GAIN_ICEPTS - 1]);
+            if (maxPwrT4[i] <= minPwrT4[i]) continue;
             HALASSERT(maxPwrT4[i] > minPwrT4[i]);
 
             /* Fill pier Vpds */