Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21665a69e6c0c3e383eaef417f0ddbd16bdb69e3
Commit:     21665a69e6c0c3e383eaef417f0ddbd16bdb69e3
Parent:     db98e0b434a6265c451ffe94ec0a29b8d0aaf587
Author:     Larry Finger <[EMAIL PROTECTED]>
AuthorDate: Wed Mar 14 10:32:07 2007 -0500
Committer:  John W. Linville <[EMAIL PROTECTED]>
CommitDate: Fri Mar 16 15:32:46 2007 -0400

    [PATCH] bcm43xx: MANUALWLAN fixes
    
    During testing of bcm43xx interference mitigation, two problems were
    discovered:
    
    (1) When the MANUALWLAN mode was set, routines _stack_save and 
_stack_restore
        generated assertions that were traced to saving ILT registers with 
addresses
        > 0xFFF. This problem was fixed by adding one bit to the field used for
        the offset, and subtracting one bit from the space used for the id.
    (2) In MANUALWLAN mode, the IRQ XMIT errors are generated. The cause of 
these
        errors has not yet been located. Any suggestions on debugging this 
problem
        would be greatly appreciated.
    
    Signed-off-by: Larry Finger <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_radio.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_radio.c
index 32beb91..ee1e7a2 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_radio.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_radio.c
@@ -882,10 +882,10 @@ static void _stack_save(u32 *_stackptr, size_t *stackidx,
 {
        u32 *stackptr = &(_stackptr[*stackidx]);
 
-       assert((offset & 0xF000) == 0x0000);
-       assert((id & 0xF0) == 0x00);
+       assert((offset & 0xE000) == 0x0000);
+       assert((id & 0xF8) == 0x00);
        *stackptr = offset;
-       *stackptr |= ((u32)id) << 12;
+       *stackptr |= ((u32)id) << 13;
        *stackptr |= ((u32)value) << 16;
        (*stackidx)++;
        assert(*stackidx < BCM43xx_INTERFSTACK_SIZE);
@@ -896,12 +896,12 @@ static u16 _stack_restore(u32 *stackptr,
 {
        size_t i;
 
-       assert((offset & 0xF000) == 0x0000);
-       assert((id & 0xF0) == 0x00);
+       assert((offset & 0xE000) == 0x0000);
+       assert((id & 0xF8) == 0x00);
        for (i = 0; i < BCM43xx_INTERFSTACK_SIZE; i++, stackptr++) {
-               if ((*stackptr & 0x00000FFF) != offset)
+               if ((*stackptr & 0x00001FFF) != offset)
                        continue;
-               if (((*stackptr & 0x0000F000) >> 12) != id)
+               if (((*stackptr & 0x00007000) >> 13) != id)
                        continue;
                return ((*stackptr & 0xFFFF0000) >> 16);
        }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to