[PATCH] b43: Mask out unwanted bits of RX slot address

Rafał Miłecki zajec5 at gmail.com
Sun Aug 14 09:43:24 EDT 2011


W dniu 14 sierpnia 2011 14:06 użytkownik David Woodhouse
<dwmw2 at infradead.org> napisał:
> On Sun, 2011-08-14 at 13:38 +0200, Rafał Miłecki wrote:
>> In any case we see it can happen firmware is using that 0x1000 for
>> indexing.
>
> Well yes, but that won't happen if we limit ourselves to 4KiB of ring.
>
> So continuing to use 4KiB and masking out the 'top' bit works too.

Well, currently we use just 1 KiB for RX ring:
#define B43_RXRING_SLOTS		64
(to remind others: sizeof(struct b43_dmadesc64) equals 0x10)

Setting 0x1000 bit with value taken from address sounds like pure bug,
I can not image any real use of that. Why we should ever want to read
single bit of ring base address from descriptor...

In the future, if Broadcom will use more than 256 slots (more than 4
KiB) for RX ring, we will need that bit. I prefer to add workaround
for this hardware bug now, rather than fixing this little hack in the
future.

-- 
Rafał



More information about the b43-dev mailing list