Hi Wenzhou,

"Lu, Wenzhuo" <wenzhuo.lu at intel.com> writes:

> Hi Aaron,
>
>
>> -----Original Message-----
>> From: Aaron Conole [mailto:aconole at redhat.com]
>> Sent: Friday, February 26, 2016 2:49 AM
>> To: dev at dpdk.org
>> Cc: Lu, Wenzhuo; Zhang, Helin; Ananyev, Konstantin; Richardson, Bruce
>> Subject: [PATCH 3/8] drivers/net/e1000: Fix missing brackets
>> 
>> The register read/write mphy functions have misleading whitespace around the
>> locked check. This cleanup merely preserves the existing functionality while
>> improving the ready check.
>> 
>> Signed-off-by: Aaron Conole <aconole at redhat.com>
>> ---
>>  drivers/net/e1000/base/e1000_phy.c | 12 ++++++------
>>  1 file changed, 6 insertions(+), 6 deletions(-)
>> 
>> diff --git a/drivers/net/e1000/base/e1000_phy.c
>> b/drivers/net/e1000/base/e1000_phy.c
>> index d43b7ce..8642d38 100644
>> --- a/drivers/net/e1000/base/e1000_phy.c
>> +++ b/drivers/net/e1000/base/e1000_phy.c
>> @@ -4153,13 +4153,13 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw
>> *hw, u32 address, u32 *data)
>>      *data = E1000_READ_REG(hw, E1000_MPHY_DATA);
>> 
>>      /* Disable access to mPHY if it was originally disabled */
>> -    if (locked)
>> +    if (locked) {
>>              ready = e1000_is_mphy_ready(hw);
>>              if (!ready)
>>                      return -E1000_ERR_PHY;
>> -            E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
>> -                            E1000_MPHY_DIS_ACCESS);
>> +    }
>> 
>> +    E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
>> E1000_MPHY_DIS_ACCESS);
>>      return E1000_SUCCESS;
>>  }
>> 
>> @@ -4218,13 +4218,13 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw
>> *hw, u32 address, u32 data,
>>      E1000_WRITE_REG(hw, E1000_MPHY_DATA, data);
>> 
>>      /* Disable access to mPHY if it was originally disabled */
>> -    if (locked)
>> +    if (locked) {
>>              ready = e1000_is_mphy_ready(hw);
>>              if (!ready)
>>                      return -E1000_ERR_PHY;
>> -            E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
>> -                            E1000_MPHY_DIS_ACCESS);
>> +    }
>> 
>> +    E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
>> E1000_MPHY_DIS_ACCESS);
>>      return E1000_SUCCESS;
>>  }
>> 
>> --
>> 2.5.0
> Normally we will not maintain the base code. It's just taken from kernel 
> driver.
> Agree with you that the whitespace is misleading. But as it's no real
> impact. I'd like to say not a big deal, better not change it. :)

Thanks for this hint. It turns out my patch is wrong. It should actually
be this (and I've confirmed by looking at the drivers):

diff --git a/drivers/net/e1000/base/e1000_phy.c 
b/drivers/net/e1000/base/e1000_phy.c
index d43b7ce..ad3fd58 100644
--- a/drivers/net/e1000/base/e1000_phy.c
+++ b/drivers/net/e1000/base/e1000_phy.c
@@ -4153,12 +4153,12 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw *hw, u32 
address, u32 *data)
        *data = E1000_READ_REG(hw, E1000_MPHY_DATA);

        /* Disable access to mPHY if it was originally disabled */
-       if (locked)
+       if (locked) {
                ready = e1000_is_mphy_ready(hw);
                if (!ready)
                        return -E1000_ERR_PHY;
-               E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
-                               E1000_MPHY_DIS_ACCESS);
+               E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL, 
E1000_MPHY_DIS_ACCESS);
+       }

        return E1000_SUCCESS;
 }
@@ -4218,12 +4218,12 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw *hw, u32 
address, u32 data,
        E1000_WRITE_REG(hw, E1000_MPHY_DATA, data);

        /* Disable access to mPHY if it was originally disabled */
-       if (locked)
+       if (locked) {
                ready = e1000_is_mphy_ready(hw);
                if (!ready)
                        return -E1000_ERR_PHY;
-               E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
-                               E1000_MPHY_DIS_ACCESS);
+               E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL, 
E1000_MPHY_DIS_ACCESS);
+       }

        return E1000_SUCCESS;
 }

I will cook up a v2 of this patch if it makes sense. It is a real bug,
so should be fixed.

-Aaron

Reply via email to