diff options
author | Markus Koch <markus@notsyncing.net> | 2022-01-11 19:22:54 +0100 |
---|---|---|
committer | Ramon Fried <ramon@neureality.ai> | 2022-01-15 18:53:16 +0200 |
commit | eab18b3b06bd914f623c3e8e9d2a905b8cea7366 (patch) | |
tree | 6744f462766d64a8e15e73464699831d1949bdbe /drivers/net/fm/memac_phy.c | |
parent | 766ba7837506a4414ce71f84ee8fd2584f45bc06 (diff) |
net: fsl: Fix busy flag polling register
NXP's mEMAC reference manual, Chapter 6.5.5 "MDIO Ethernet Management
Interface usage", specifies to poll the BSY (0) bit in the CFG/STAT
register to wait until a transaction has finished, not bit 31 in the
data register.
In the Linux kernel, this has already been fixed in commit 26eee0210ad7
("net/fsl: fix a bug in xgmac_mdio").
This patch changes the register in the fman_mdio and fsl_ls_mdio
drivers.
As the MDIO_DATA_BSY define is no longer in use, this patch also removes
its definition from the fsl_memac header.
Signed-off-by: Markus Koch <markus@notsyncing.net>
Reviewed-by: Camelia Groza <camelia.groza@nxp.com>
Diffstat (limited to 'drivers/net/fm/memac_phy.c')
-rw-r--r-- | drivers/net/fm/memac_phy.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c index 72b500a6d1..3ddae97e09 100644 --- a/drivers/net/fm/memac_phy.c +++ b/drivers/net/fm/memac_phy.c @@ -64,7 +64,7 @@ static int memac_wait_until_done(struct memac_mdio_controller *regs) { unsigned int timeout = MAX_NUM_RETRIES; - while ((memac_in_32(®s->mdio_data) & MDIO_DATA_BSY) && timeout--) + while ((memac_in_32(®s->mdio_stat) & MDIO_STAT_BSY) && timeout--) ; if (!timeout) { |