mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
synced 2025-10-05 01:10:56 +10:00
xirc2ps_cs: fix register access when enabling FullDuplex
The current code incorrectly passes (XIRCREG1_ECR | FullDuplex) as
the register address to GetByte(), instead of fetching the register
value and OR-ing it with FullDuplex. This results in an invalid
register access.
Fix it by reading XIRCREG1_ECR first, then or-ing with FullDuplex
before writing it back.
Fixes: 1da177e4c3
("Linux-2.6.12-rc2")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20250827192645.658496-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
9f74c0ea9b
commit
b79e498080
@ -1576,7 +1576,7 @@ do_reset(struct net_device *dev, int full)
|
||||
msleep(40); /* wait 40 msec to let it complete */
|
||||
}
|
||||
if (full_duplex)
|
||||
PutByte(XIRCREG1_ECR, GetByte(XIRCREG1_ECR | FullDuplex));
|
||||
PutByte(XIRCREG1_ECR, GetByte(XIRCREG1_ECR) | FullDuplex);
|
||||
} else { /* No MII */
|
||||
SelectPage(0);
|
||||
value = GetByte(XIRCREG_ESR); /* read the ESR */
|
||||
|
Loading…
Reference in New Issue
Block a user