diff options
author | Andrea Merello <andrea.merello@gmail.com> | 2014-04-04 12:25:51 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-04-22 15:06:27 -0400 |
commit | 294bc611abab43e83bf14d85c493e77ceb364f2e (patch) | |
tree | c85da774eb7c54f83180676bc849c889f53e9dee | |
parent | 6bcb20c7768ceca2138a6d9642d532f357e0b6c5 (diff) |
rtl8180: be paranoid in stopping unused queues.
HW should never attempt to perform DMA for unused queues.
For rtl8187se this is ensured by setting a dedicated register at
init time, before enabling TX.
In rtl8180/5 the register is only written at the first TX (because
in rtl8180/5 it serves also to kick DMA for used queues).
This should be enough, but it's worth to add a register write at
init time, before enabling TX.
Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8180/dev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c index cb8275fe6cda..50d69b13f984 100644 --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c | |||
@@ -910,7 +910,10 @@ static int rtl8180_init_hw(struct ieee80211_hw *dev) | |||
910 | reg32 &= 0x00ffff00; | 910 | reg32 &= 0x00ffff00; |
911 | reg32 |= 0xb8000054; | 911 | reg32 |= 0xb8000054; |
912 | rtl818x_iowrite32(priv, &priv->map->RF_PARA, reg32); | 912 | rtl818x_iowrite32(priv, &priv->map->RF_PARA, reg32); |
913 | } | 913 | } else |
914 | /* stop unused queus (no dma alloc) */ | ||
915 | rtl818x_iowrite8(priv, &priv->map->TX_DMA_POLLING, | ||
916 | (1<<1) | (1<<2)); | ||
914 | 917 | ||
915 | priv->rf->init(dev); | 918 | priv->rf->init(dev); |
916 | 919 | ||