Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187/dev.c =================================================================== --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187/dev.c +++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187/dev.c @@ -592,7 +592,7 @@ static void rtl8187_set_anaparam(struct rtl818x_iowrite32(priv, &priv->map->ANAPARAM, anaparam); rtl818x_iowrite32(priv, &priv->map->ANAPARAM2, anaparam2); if (priv->is_rtl8187b) - rtl818x_iowrite8(priv, &priv->map->ANAPARAM3, anaparam3); + rtl818x_iowrite8(priv, &priv->map->ANAPARAM3A, anaparam3); reg &= ~RTL818X_CONFIG3_ANAPARAM_WRITE; rtl818x_iowrite8(priv, &priv->map->CONFIG3, reg); rtl818x_iowrite8(priv, &priv->map->EEPROM_CMD, @@ -949,7 +949,7 @@ static int rtl8187_start(struct ieee8021 rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg); rtl818x_iowrite32(priv, &priv->map->TX_CONF, - RTL818X_TX_CONF_HW_SEQNUM | + RTL818X_TX_CONF_SW_SEQNUM | RTL818X_TX_CONF_DISREQQSIZE | (RETRY_COUNT << 8 /* short retry limit */) | (RETRY_COUNT << 0 /* long retry limit */) | Index: wireless-testing/drivers/net/wireless/rtl818x/rtl818x.h =================================================================== --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl818x.h +++ wireless-testing/drivers/net/wireless/rtl818x/rtl818x.h @@ -309,7 +309,10 @@ struct rtl818x_csr { __le32 RDSAR; /* 0xe4 */ __le16 TID_AC_MAP; /* 0xe8 */ u8 reserved_20[4]; - __le16 ANAPARAM3; /* 0xee */ + union { + __le16 ANAPARAM3; /* 0xee */ + u8 ANAPARAM3A; /* for rtl8187 */ + }; #define AC_PARAM_TXOP_LIMIT_SHIFT 16 #define AC_PARAM_ECW_MAX_SHIFT 12