• Johannes Berg's avatar
    iwlagn: do not use interruptible waits · effd4d9a
    Johannes Berg authored
    Since the dawn of its time, iwlwifi has used
    interruptible waits to wait for synchronous
    commands and firmware loading.
    
    This leads to "interesting" bugs, because it
    can't actually handle the interruptions; for
    example when a command sending is interrupted
    it will assume the command completed fully,
    and then leave it pending, which leads to all
    kinds of trouble when the command finishes
    later.
    
    Since there's no easy way to gracefully deal
    with interruptions, fix the driver to not use
    interruptible waits.
    
    This at least fixes the error
    iwlagn 0000:02:00.0: Error: Response NULL in  'REPLY_SCAN_ABORT_CMD'
    
    I have seen in P2P testing, but it is likely
    that there are other errors caused by this.
    
    Cc: Stanislaw Gruszka <sgruszka@redhat.com>
    Cc: stable@kernel.org [2.6.24+]
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    effd4d9a
iwl-core.c 51.6 KB