brcmsmac: Use correct descriptor count when calculating next rx descriptor
authorSeth Forshee <seth.forshee@canonical.com>
Thu, 15 Nov 2012 14:07:57 +0000 (08:07 -0600)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 20 Nov 2012 19:04:51 +0000 (14:04 -0500)
nextrxd() is calling txd(), which means that the tx descriptor count is
used to determine when to wrap for determining the next ring buffer
entry. This has worked so far since the driver has been using the same
number of rx and tx descriptors, but it's obviously going to be a
problem if different numbers of descriptors are used.

Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Tested-by: Daniel Wagner <wagi@monom.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmsmac/dma.c

index 426b9a9771640f0646c940038bfacf8d56d7e9b0..d7ce1ac9adc9eb8928219c3b83dc9f4be5a769ff 100644 (file)
@@ -361,7 +361,7 @@ static uint prevtxd(struct dma_info *di, uint i)
 
 static uint nextrxd(struct dma_info *di, uint i)
 {
-       return txd(di, i + 1);
+       return rxd(di, i + 1);
 }
 
 static uint ntxdactive(struct dma_info *di, uint h, uint t)