Skip to contentSkip to conversation

atl1c: Fix hardware type check for enabling OTP CLK

PATCH In review Ben Hutchings 2 participants 2 messages Nov 20, 2010 – Nov 21, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 atl1c: Fix hardware type check for enabling OTP CLK

Commit 496c185c9495629ef1c65387cb2594578393cfe0 "atl1c: Add support for Atheros AR8152 and AR8152" added the condition:

             if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c_b)

for enabling OTP CLK, and the condition:

             if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c)

for disabling OTP CLK. Since the two previously defined hardware types are athr_l1c and athr_l2c, the latter condition appears to be the correct one. Change the former to match.

---
This is compile-tested only. It looks like the current code may fail to read non-volatile settings on the L2C hardware since the EEPROM will not be clocked. Please check this.

Ben.

 drivers/net/atl1c/atl1c_hw.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/net/atl1c/atl1c_hw.c +1 -1
index 919080b..1bf6720 100644
@@ -82,7 +82,7 @@ static int atl1c_get_permanent_address(struct atl1c_hw *hw)
 	addr[0] = addr[1] = 0;
 	AT_READ_REG(hw, REG_OTP_CTRL, &otp_ctrl_data);
 	if (atl1c_check_eeprom_exist(hw)) {
-		if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c_b) {
+		if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c) {
 			/* Enable OTP CLK */
 			if (!(otp_ctrl_data & OTP_CTRL_CLK_EN)) {
 				otp_ctrl_data |= OTP_CTRL_CLK_EN;
Signature · 1 line
1.7.2.3
maintainer
#1 lore raw

From: Ben Hutchings <[email protected]>
Date: Sat, 20 Nov 2010 04:55:36 +0000

Quoted 13 lines

Commit 496c185c9495629ef1c65387cb2594578393cfe0 "atl1c: Add support for Atheros AR8152 and AR8152" added the condition:

             if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c_b)

for enabling OTP CLK, and the condition:

             if (hw->nic_type == athr_l1c || hw->nic_type == athr_l2c)

for disabling OTP CLK. Since the two previously defined hardware types are athr_l1c and athr_l2c, the latter condition appears to be the correct one. Change the former to match.

Quoted 5 lines

---
This is compile-tested only. It looks like the current code may fail to read non-volatile settings on the L2C hardware since the EEPROM will not be clocked. Please check this.

This was brought up before, perhaps 4 or 5 months ago, and the maintainers for this driver just fooled around and never brought this issue to a meaningful resolution.

So I'm just going to apply your patch instead of waiting another half year for something to happen.

Thanks Ben.