• Michael Buesch's avatar
    b43: Fix MAC control and microcode init · 1f7d87b0
    Michael Buesch authored
    This zeros out all microcode related memory before loading
    the microcode.
    
    This also fixes initialization of the MAC control register.
    The _only_ place where we overwrite the contents of the MAC control
    register is at the beginning of b43_chip_init().
    All other places must do read() -> mask/set -> write() to not
    overwrite existing bits.
    
    This also adds a longer delay for waiting for the microcode
    to initialize itself. It seems that the current timeout is sufficient
    on all available devices, but there's no real reason why we shouldn't
    wait for up to one second. Slow embedded devices might exist.
    Better safe than sorry.
    Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    1f7d87b0
main.c 107 KB