Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d768c61b authored by hayeswang's avatar hayeswang Committed by David S. Miller
Browse files

r8152: disable ALDPS and EEE before setting PHY



Disable ALDPS and EEE to avoid the possible failure when setting the PHY.

Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent af0287ec
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@
#define NETNEXT_VERSION		"08"

/* Information for net */
#define NET_VERSION		"5"
#define NET_VERSION		"6"

#define DRIVER_VERSION		"v1." NETNEXT_VERSION "." NET_VERSION
#define DRIVER_AUTHOR "Realtek linux nic maintainers <nic_swsd@realtek.com>"
@@ -2808,6 +2808,13 @@ static void r8153_hw_phy_cfg(struct r8152 *tp)
	u32 ocp_data;
	u16 data;

	/* disable ALDPS before updating the PHY parameters */
	r8153_aldps_en(tp, false);

	/* disable EEE before updating the PHY parameters */
	r8153_eee_en(tp, false);
	ocp_reg_write(tp, OCP_EEE_ADV, 0);

	if (tp->version == RTL_VER_03) {
		data = ocp_reg_read(tp, OCP_EEE_CFG);
		data &= ~CTAP_SHORT_EN;
@@ -3390,7 +3397,6 @@ static void r8153_init(struct r8152 *tp)
	if (test_bit(RTL8152_UNPLUG, &tp->flags))
		return;

	r8153_aldps_en(tp, false);
	r8153_u1u2en(tp, false);

	for (i = 0; i < 500; i++) {