Loading drivers/net/dsa/qca8k.c +11 −12 Original line number Diff line number Diff line Loading @@ -262,21 +262,20 @@ static struct regmap_config qca8k_regmap_config = { static int qca8k_busy_wait(struct qca8k_priv *priv, u32 reg, u32 mask) { unsigned long timeout; timeout = jiffies + msecs_to_jiffies(20); u32 val; int ret; /* loop until the busy flag has cleared */ do { u32 val = qca8k_read(priv, reg); int busy = val & mask; ret = read_poll_timeout(qca8k_read, val, !(val & mask), 0, QCA8K_BUSY_WAIT_TIMEOUT * USEC_PER_MSEC, false, priv, reg); if (!busy) break; cond_resched(); } while (!time_after_eq(jiffies, timeout)); /* Check if qca8k_read has failed for a different reason * before returning -ETIMEDOUT */ if (ret < 0 && val < 0) return val; return time_after_eq(jiffies, timeout); return ret; } static void Loading drivers/net/dsa/qca8k.h +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ #define PHY_ID_QCA8337 0x004dd036 #define QCA8K_ID_QCA8337 0x13 #define QCA8K_BUSY_WAIT_TIMEOUT 20 #define QCA8K_NUM_FDB_RECORDS 2048 #define QCA8K_CPU_PORT 0 Loading Loading
drivers/net/dsa/qca8k.c +11 −12 Original line number Diff line number Diff line Loading @@ -262,21 +262,20 @@ static struct regmap_config qca8k_regmap_config = { static int qca8k_busy_wait(struct qca8k_priv *priv, u32 reg, u32 mask) { unsigned long timeout; timeout = jiffies + msecs_to_jiffies(20); u32 val; int ret; /* loop until the busy flag has cleared */ do { u32 val = qca8k_read(priv, reg); int busy = val & mask; ret = read_poll_timeout(qca8k_read, val, !(val & mask), 0, QCA8K_BUSY_WAIT_TIMEOUT * USEC_PER_MSEC, false, priv, reg); if (!busy) break; cond_resched(); } while (!time_after_eq(jiffies, timeout)); /* Check if qca8k_read has failed for a different reason * before returning -ETIMEDOUT */ if (ret < 0 && val < 0) return val; return time_after_eq(jiffies, timeout); return ret; } static void Loading
drivers/net/dsa/qca8k.h +2 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ #define PHY_ID_QCA8337 0x004dd036 #define QCA8K_ID_QCA8337 0x13 #define QCA8K_BUSY_WAIT_TIMEOUT 20 #define QCA8K_NUM_FDB_RECORDS 2048 #define QCA8K_CPU_PORT 0 Loading