mac80211: fix sign error in pid controller
[linux-2.6-block.git] / net / mac80211 / rc80211_pid_algo.c
index 699d3ed869c4114a95f7a29f8adbea036d2c61a3..29bc4c516238ed9cfafbd5c7416c0bdc13d528fd 100644 (file)
@@ -190,7 +190,7 @@ static void rate_control_pid_sample(struct rc_pid_info *pinfo,
        rate_control_pid_normalize(pinfo, sband->n_bitrates);
 
        /* Compute the proportional, integral and derivative errors. */
-       err_prop = (pinfo->target << RC_PID_ARITH_SHIFT) - pf;
+       err_prop = (pinfo->target - pf) << RC_PID_ARITH_SHIFT;
 
        err_avg = spinfo->err_avg_sc >> pinfo->smoothing_shift;
        spinfo->err_avg_sc = spinfo->err_avg_sc - err_avg + err_prop;