Use mt76_poll_msec() in mt76pci_load_firmware to check if the firmware
has been started instead of explicitly poll MCU running register

Signed-off-by: Lorenzo Bianconi <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c 
b/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c
index 15820b11f9db..dfd36d736b06 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c
@@ -187,7 +187,7 @@ mt76pci_load_firmware(struct mt76x2_dev *dev)
 {
        const struct firmware *fw;
        const struct mt76x2_fw_header *hdr;
-       int i, len, ret;
+       int len, ret;
        __le32 *cur;
        u32 offset, val;
 
@@ -240,16 +240,7 @@ mt76pci_load_firmware(struct mt76x2_dev *dev)
 
        /* trigger firmware */
        mt76_wr(dev, MT_MCU_INT_LEVEL, 2);
-       for (i = 200; i > 0; i--) {
-               val = mt76_rr(dev, MT_MCU_COM_REG0);
-
-               if (val & 1)
-                       break;
-
-               msleep(10);
-       }
-
-       if (!i) {
+       if (!mt76_poll_msec(dev, MT_MCU_COM_REG0, 1, 1, 200)) {
                dev_err(dev->mt76.dev, "Firmware failed to start\n");
                release_firmware(fw);
                return -ETIMEDOUT;
-- 
2.14.3

Reply via email to