[PATCH 0/2] net/usb/ax88179_178a: Adjustments for ax88179_chk_eee()

2018-03-10 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 10 Mar 2018 19:05:45 +0100

Two update suggestions were taken into account
from static source code analysis.

Markus Elfring (2):
  Use common code
  Delete three unnecessary variables

 drivers/net/usb/ax88179_178a.c | 45 +++---
 1 file changed, 16 insertions(+), 29 deletions(-)

-- 
2.16.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] net/usb/ax88179_178a: Use common code in ax88179_chk_eee()

2018-03-10 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 10 Mar 2018 18:22:43 +0100

Adjust a jump target so that a bit of common code can be better reused
at the end of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring 
---
 drivers/net/usb/ax88179_178a.c | 34 +++---
 1 file changed, 11 insertions(+), 23 deletions(-)

diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
index f32261ecd215..e4b0baa98e9a 100644
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
@@ -689,49 +689,37 @@ static int ax88179_chk_eee(struct usbnet *dev)
eee_cap = ax88179_phy_read_mmd_indirect(dev,
MDIO_PCS_EEE_ABLE,
MDIO_MMD_PCS);
-   if (eee_cap < 0) {
-   priv->eee_active = 0;
-   return false;
-   }
+   if (eee_cap < 0)
+   goto set_inactive;
 
cap = mmd_eee_cap_to_ethtool_sup_t(eee_cap);
-   if (!cap) {
-   priv->eee_active = 0;
-   return false;
-   }
+   if (!cap)
+   goto set_inactive;
 
eee_lp = ax88179_phy_read_mmd_indirect(dev,
   MDIO_AN_EEE_LPABLE,
   MDIO_MMD_AN);
-   if (eee_lp < 0) {
-   priv->eee_active = 0;
-   return false;
-   }
+   if (eee_lp < 0)
+   goto set_inactive;
 
eee_adv = ax88179_phy_read_mmd_indirect(dev,
MDIO_AN_EEE_ADV,
MDIO_MMD_AN);
-
-   if (eee_adv < 0) {
-   priv->eee_active = 0;
-   return false;
-   }
+   if (eee_adv < 0)
+   goto set_inactive;
 
adv = mmd_eee_adv_to_ethtool_adv_t(eee_adv);
lp = mmd_eee_adv_to_ethtool_adv_t(eee_lp);
supported = (ecmd.speed == SPEED_1000) ?
 SUPPORTED_1000baseT_Full :
 SUPPORTED_100baseT_Full;
-
-   if (!(lp & adv & supported)) {
-   priv->eee_active = 0;
-   return false;
-   }
+   if (!(lp & adv & supported))
+   goto set_inactive;
 
priv->eee_active = 1;
return true;
}
-
+set_inactive:
priv->eee_active = 0;
return false;
 }
-- 
2.16.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] net/usb/ax88179_178a: Delete three unnecessary variables in ax88179_chk_eee()

2018-03-10 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 10 Mar 2018 18:53:28 +0100

Use three values directly for a condition check without assigning them
to intermediate variables.

Signed-off-by: Markus Elfring 
---
 drivers/net/usb/ax88179_178a.c | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
index e4b0baa98e9a..3e83be232504 100644
--- a/drivers/net/usb/ax88179_178a.c
+++ b/drivers/net/usb/ax88179_178a.c
@@ -684,7 +684,7 @@ static int ax88179_chk_eee(struct usbnet *dev)
 
if (ecmd.duplex & DUPLEX_FULL) {
int eee_lp, eee_cap, eee_adv;
-   u32 lp, cap, adv, supported = 0;
+   u32 cap;
 
eee_cap = ax88179_phy_read_mmd_indirect(dev,
MDIO_PCS_EEE_ABLE,
@@ -708,12 +708,11 @@ static int ax88179_chk_eee(struct usbnet *dev)
if (eee_adv < 0)
goto set_inactive;
 
-   adv = mmd_eee_adv_to_ethtool_adv_t(eee_adv);
-   lp = mmd_eee_adv_to_ethtool_adv_t(eee_lp);
-   supported = (ecmd.speed == SPEED_1000) ?
-SUPPORTED_1000baseT_Full :
-SUPPORTED_100baseT_Full;
-   if (!(lp & adv & supported))
+   if (!(mmd_eee_adv_to_ethtool_adv_t(eee_lp) &
+ mmd_eee_adv_to_ethtool_adv_t(eee_adv) &
+ ((ecmd.speed == SPEED_1000)
+  ? SUPPORTED_1000baseT_Full
+  : SUPPORTED_100baseT_Full)))
goto set_inactive;
 
priv->eee_active = 1;
-- 
2.16.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] net/usb/ax88179_178a: Use common code in ax88179_chk_eee()

2018-03-10 Thread Joe Perches
On Sat, 2018-03-10 at 19:24 +0100, SF Markus Elfring wrote:
> From: Markus Elfring 
> Date: Sat, 10 Mar 2018 18:22:43 +0100
> 
> Adjust a jump target so that a bit of common code can be better reused
> at the end of this function.

Please stop mindlessly sending patching Markus.

How about looking at the code being modified and
thinking about what it does?

Try unindenting the block by reversing the first test
and using the same goto set_inactive.

Look at the last & tests
+   if (!(lp & adv & supported))
and see if it should use && or be more simple to read
by using
if (!condition || !

> ---
>  drivers/net/usb/ax88179_178a.c | 34 +++---
>  1 file changed, 11 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
> index f32261ecd215..e4b0baa98e9a 100644
> --- a/drivers/net/usb/ax88179_178a.c
> +++ b/drivers/net/usb/ax88179_178a.c
> @@ -689,49 +689,37 @@ static int ax88179_chk_eee(struct usbnet *dev)
>   eee_cap = ax88179_phy_read_mmd_indirect(dev,
>   MDIO_PCS_EEE_ABLE,
>   MDIO_MMD_PCS);
> - if (eee_cap < 0) {
> - priv->eee_active = 0;
> - return false;
> - }
> + if (eee_cap < 0)
> + goto set_inactive;
>  
>   cap = mmd_eee_cap_to_ethtool_sup_t(eee_cap);
> - if (!cap) {
> - priv->eee_active = 0;
> - return false;
> - }
> + if (!cap)
> + goto set_inactive;
>  
>   eee_lp = ax88179_phy_read_mmd_indirect(dev,
>  MDIO_AN_EEE_LPABLE,
>  MDIO_MMD_AN);
> - if (eee_lp < 0) {
> - priv->eee_active = 0;
> - return false;
> - }
> + if (eee_lp < 0)
> + goto set_inactive;
>  
>   eee_adv = ax88179_phy_read_mmd_indirect(dev,
>   MDIO_AN_EEE_ADV,
>   MDIO_MMD_AN);
> -
> - if (eee_adv < 0) {
> - priv->eee_active = 0;
> - return false;
> - }
> + if (eee_adv < 0)
> + goto set_inactive;
>  
>   adv = mmd_eee_adv_to_ethtool_adv_t(eee_adv);
>   lp = mmd_eee_adv_to_ethtool_adv_t(eee_lp);
>   supported = (ecmd.speed == SPEED_1000) ?
>SUPPORTED_1000baseT_Full :
>SUPPORTED_100baseT_Full;
> -
> - if (!(lp & adv & supported)) {
> - priv->eee_active = 0;
> - return false;
> - }
> + if (!(lp & adv & supported))
> + goto set_inactive;
>  
>   priv->eee_active = 1;
>   return true;
>   }
> -
> +set_inactive:
>   priv->eee_active = 0;
>   return false;
>  }
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] net/usb/ax88179_178a: Use common code in ax88179_chk_eee()

2018-03-10 Thread Andy Shevchenko
On Sat, Mar 10, 2018 at 8:41 PM, Joe Perches  wrote:
> On Sat, 2018-03-10 at 19:24 +0100, SF Markus Elfring wrote:
>> From: Markus Elfring 
>> Date: Sat, 10 Mar 2018 18:22:43 +0100
>>
>> Adjust a jump target so that a bit of common code can be better reused
>> at the end of this function.
>
> Please stop mindlessly sending patching Markus.
>
> How about looking at the code being modified and
> thinking about what it does?

You have a strong nerve, I gave up on him and would rather simple ban.

-- 
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/2] net/usb/ax88179_178a: Adjustments for ax88179_chk_eee()

2018-03-10 Thread Andrew Lunn
On Sat, Mar 10, 2018 at 07:22:55PM +0100, SF Markus Elfring wrote:
> From: Markus Elfring 
> Date: Sat, 10 Mar 2018 19:05:45 +0100
> 
> Two update suggestions were taken into account
> from static source code analysis.

Hi Markus

How about re-writing this driver to use phylib. The whole of
ax88179_chk_eee() would then go away, since it is a duplication of
phy_init_eee().

Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html