From 9e9da427b8a69536223da9f4bbfd7a766bef18dc Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 23 Nov 2020 14:06:50 +0100 Subject: [PATCH] mt76: mt7915: fix polling firmware-own status Check the register status bit instead of the trigger bit Signed-off-by: Felix Fietkau --- mt7915/mcu.c | 2 +- mt7915/regs.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mt7915/mcu.c b/mt7915/mcu.c index 600ab7a8..ea3ae8b0 100644 --- a/mt7915/mcu.c +++ b/mt7915/mcu.c @@ -2529,7 +2529,7 @@ static int mt7915_driver_own(struct mt7915_dev *dev) u32 reg = mt7915_reg_map_l1(dev, MT_TOP_LPCR_HOST_BAND0); mt76_wr(dev, reg, MT_TOP_LPCR_HOST_DRV_OWN); - if (!mt76_poll_msec(dev, reg, MT_TOP_LPCR_HOST_FW_OWN, + if (!mt76_poll_msec(dev, reg, MT_TOP_LPCR_HOST_FW_OWN_STAT, 0, 500)) { dev_err(dev->mt76.dev, "Timeout for driver own\n"); return -EIO; diff --git a/mt7915/regs.h b/mt7915/regs.h index 0410b9a8..983048dc 100644 --- a/mt7915/regs.h +++ b/mt7915/regs.h @@ -408,6 +408,7 @@ #define MT_TOP_LPCR_HOST_BAND0 MT_TOP(0x10) #define MT_TOP_LPCR_HOST_FW_OWN BIT(0) #define MT_TOP_LPCR_HOST_DRV_OWN BIT(1) +#define MT_TOP_LPCR_HOST_FW_OWN_STAT BIT(2) #define MT_TOP_MISC MT_TOP(0xf0) #define MT_TOP_MISC_FW_STATE GENMASK(2, 0)