On Wed, 2012-11-28 at 11:42 +0200, Arik Nemtsov wrote: > Treat a single connected STA in PSM as a slow link and regulate Tx speed > according to slow link priority/stop thresholds. > This allows us to avoid flooding the FW, while delivering decent > throughput to a peer in forced-PSM. > > Signed-off-by: Arik Nemtsov <arik@xxxxxxxxxx> > --- > drivers/net/wireless/ti/wl18xx/main.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c > index 3836dbd..ada4616 100644 > --- a/drivers/net/wireless/ti/wl18xx/main.c > +++ b/drivers/net/wireless/ti/wl18xx/main.c > @@ -1446,10 +1446,11 @@ static bool wl18xx_lnk_high_prio(struct wl1271 *wl, u8 hlid, > return false; > > /* the priority thresholds are taken from FW */ > - if (test_bit(hlid, (unsigned long *)&wl->fw_fast_lnk_map)) > - thold = status_priv->tx_fast_link_prio_threshold; > - else > + if (!test_bit(hlid, (unsigned long *)&wl->fw_fast_lnk_map) || > + test_bit(hlid, (unsigned long *)&wl->ap_fw_ps_map)) > thold = status_priv->tx_slow_link_prio_threshold; > + else > + thold = status_priv->tx_fast_link_prio_threshold; Am I missing something or is this kind of inverted logic? For some reason I always think it is simpler to have something like this: if (fast_link && !ps) thold = fast; else thold = slow; But maybe it's just me... -- Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html