diff mbox

fm10k:Fix error handling in the function fm10k_setup_tc

Message ID 1445375114-13378-1-git-send-email-xerofoify@gmail.com
State Rejected
Headers show

Commit Message

Nicholas Krause Oct. 20, 2015, 9:05 p.m. UTC
This fixes error handling in the function fm10k_setup_tc to properly
check if the call to the function fm10k_open has failed by returning
a error and if so return immediately to the caller of the function
fm10k_setup_tc to properly signal this non recoverable failure.

Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---
 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Kirsher, Jeffrey T Oct. 20, 2015, 11:06 p.m. UTC | #1
On Tue, 2015-10-20 at 17:05 -0400, Nicholas Krause wrote:
> This fixes error handling in the function fm10k_setup_tc to properly
> check if the call to the function fm10k_open has failed by returning
> a error and if so return immediately to the caller of the function
> fm10k_setup_tc to properly signal this non recoverable failure.
> 
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
>  drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)

Is this a version 2 of your original patch you sent out with the same
title and patch description?  It is difficult to understand the reason
for the change without a sufficient changelog (i.e. why the new version
of the patch).
Rustad, Mark D Oct. 20, 2015, 11:11 p.m. UTC | #2
Nicholas Krause <xerofoify@gmail.com> wrote:

> This fixes error handling in the function fm10k_setup_tc to properly
> check if the call to the function fm10k_open has failed by returning
> a error and if so return immediately to the caller of the function
> fm10k_setup_tc to properly signal this non recoverable failure.
> 
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
> drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
> index 99228bf..5a4e702 100644
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
> @@ -1146,6 +1146,7 @@ static struct rtnl_link_stats64 *fm10k_get_stats64(struct net_device *netdev,
> int fm10k_setup_tc(struct net_device *dev, u8 tc)
> {
> 	struct fm10k_intfc *interface = netdev_priv(dev);
> +	int err;
> 
> 	/* Currently only the PF supports priority classes */
> 	if (tc && (interface->hw.mac.type != fm10k_mac_pf))
> @@ -1175,7 +1176,9 @@ int fm10k_setup_tc(struct net_device *dev, u8 tc)
> 	fm10k_mbx_request_irq(interface);
> 
> 	if (netif_running(dev))
> -		fm10k_open(dev);
> +		err = fm10k_open(dev);
> +	if (err)
> +		return err;
> 
> 	/* flag to indicate SWPRI has yet to be updated */
> 	interface->flags |= FM10K_FLAG_SWPRI_CONFIG;

NAK. This will reference an uninitialized err variable when netif_running returns false. The compiler should complain about this, suggesting that it wasn't compiled.

--
Mark Rustad, Networking Division, Intel Corporation
Nicholas Krause Oct. 20, 2015, 11:25 p.m. UTC | #3
On October 20, 2015 7:11:51 PM EDT, "Rustad, Mark D" <mark.d.rustad@intel.com> wrote:
>Nicholas Krause <xerofoify@gmail.com> wrote:
>
>> This fixes error handling in the function fm10k_setup_tc to properly
>> check if the call to the function fm10k_open has failed by returning
>> a error and if so return immediately to the caller of the function
>> fm10k_setup_tc to properly signal this non recoverable failure.
>> 
>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>> ---
>> drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
>b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
>> index 99228bf..5a4e702 100644
>> --- a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
>> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
>> @@ -1146,6 +1146,7 @@ static struct rtnl_link_stats64
>*fm10k_get_stats64(struct net_device *netdev,
>> int fm10k_setup_tc(struct net_device *dev, u8 tc)
>> {
>> 	struct fm10k_intfc *interface = netdev_priv(dev);
>> +	int err;
>> 
>> 	/* Currently only the PF supports priority classes */
>> 	if (tc && (interface->hw.mac.type != fm10k_mac_pf))
>> @@ -1175,7 +1176,9 @@ int fm10k_setup_tc(struct net_device *dev, u8
>tc)
>> 	fm10k_mbx_request_irq(interface);
>> 
>> 	if (netif_running(dev))
>> -		fm10k_open(dev);
>> +		err = fm10k_open(dev);
>> +	if (err)
>> +		return err;
>> 
>> 	/* flag to indicate SWPRI has yet to be updated */
>> 	interface->flags |= FM10K_FLAG_SWPRI_CONFIG;
>
>NAK. This will reference an uninitialized err variable when
>netif_running returns false. The compiler should complain about this,
>suggesting that it wasn't compiled.
>
>--
I compiled it but my compiler builds it fine.  However this is a valid complaint that I don't mind fixing if there are no other complaints about the patch content. 
Nick 



>Mark Rustad, Networking Division, Intel Corporation
Singh, Krishneil K Oct. 27, 2015, 5:23 p.m. UTC | #4
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On Behalf Of Nicholas Krause
Sent: Tuesday, October 20, 2015 2:05 PM
To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>
Cc: linux-kernel@vger.kernel.org; intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org
Subject: [Intel-wired-lan] [PATCH] fm10k:Fix error handling in the function fm10k_setup_tc

This fixes error handling in the function fm10k_setup_tc to properly check if the call to the function fm10k_open has failed by returning a error and if so return immediately to the caller of the function fm10k_setup_tc to properly signal this non recoverable failure.

Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---

Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com>
diff mbox

Patch

diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
index 99228bf..5a4e702 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
@@ -1146,6 +1146,7 @@  static struct rtnl_link_stats64 *fm10k_get_stats64(struct net_device *netdev,
 int fm10k_setup_tc(struct net_device *dev, u8 tc)
 {
 	struct fm10k_intfc *interface = netdev_priv(dev);
+	int err;
 
 	/* Currently only the PF supports priority classes */
 	if (tc && (interface->hw.mac.type != fm10k_mac_pf))
@@ -1175,7 +1176,9 @@  int fm10k_setup_tc(struct net_device *dev, u8 tc)
 	fm10k_mbx_request_irq(interface);
 
 	if (netif_running(dev))
-		fm10k_open(dev);
+		err = fm10k_open(dev);
+	if (err)
+		return err;
 
 	/* flag to indicate SWPRI has yet to be updated */
 	interface->flags |= FM10K_FLAG_SWPRI_CONFIG;