[PATCH 0/2] net/usb/ax88179_178a: Adjustments for ax88179_chk_eee()
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()
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()
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()
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()
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()
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