rtl8187: fix 8187B throughput regression
authorHerton Ronaldo Krzesinski <herton@mandriva.com.br>
Thu, 13 Nov 2008 15:39:14 +0000 (10:39 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 25 Nov 2008 21:41:31 +0000 (16:41 -0500)
Hin-Tak Leung reported that after the change "rtl8187: add short slot
handling for 8187B" his RTL8187B started to give low throughput on
network transfers. Turns out that the SIFS setting used isn't ok, it
doesn't look to be the real aSIFSTime, using the "magical" 0x22 value
like on other 818x variants as the vendor does too fixes the issue.

Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtl818x/rtl8187_dev.c

index 4a9f76f..5fe7473 100644 (file)
@@ -935,7 +935,7 @@ static void rtl8187_conf_erp(struct rtl8187_priv *priv, bool use_short_slot,
                        difs = 0x32;
                        eifs = 0x5b;
                }
-               rtl818x_iowrite8(priv, &priv->map->SIFS, 0xa);
+               rtl818x_iowrite8(priv, &priv->map->SIFS, 0x22);
                rtl818x_iowrite8(priv, &priv->map->SLOT, slot_time);
                rtl818x_iowrite8(priv, &priv->map->DIFS, difs);