rt2800usb: check Autorun mode on FW load only once
authorStanislaw Gruszka <sgruszka@redhat.com>
Thu, 19 Mar 2015 14:32:49 +0000 (15:32 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 30 Mar 2015 08:29:16 +0000 (11:29 +0300)
Seems H/W report correctly firmware Autorun value only at initialization
stage. When we close interface and open it again, Autorun value is 0 and
we try to load firmware what kills the device. To fix clear
REQUIRE_FIRMWARE firmware flag, to do not load firmware again, once we
discover Autorun mode.

Reported-and-tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rt2x00/rt2800usb.c

index 41b6fb16c661c2df0e01e8cca620da94257b3e80..6ec2466b52b6ccd686341e2ed53df35f0b0370e0 100644 (file)
@@ -293,6 +293,7 @@ static int rt2800usb_write_firmware(struct rt2x00_dev *rt2x00dev,
        if (retval) {
                rt2x00_info(rt2x00dev,
                            "Firmware loading not required - NIC in AutoRun mode\n");
+               __clear_bit(REQUIRE_FIRMWARE, &rt2x00dev->cap_flags);
        } else {
                rt2x00usb_register_multiwrite(rt2x00dev, FIRMWARE_IMAGE_BASE,
                                              data + offset, length);