ixgbe: Fix ixgbe_write_mbx error result
authorMark Rustad <mark.d.rustad@intel.com>
Tue, 22 Jul 2014 06:50:52 +0000 (06:50 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 26 Jul 2014 02:26:44 +0000 (19:26 -0700)
If ixgbe_write_mbx is called and no mbx->ops.write method
exists, no error code is returned. The corresponding read
function explicitly returns an error in such a case as do
other functions, so this appears to be a minor bug. Fix
it for consistency, and generate return values directly
to make things clearer.

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c

index 1918e0abf734a0d0e85f9f9df5567cc24e8cfc21..50479575e13165d16fa80c4f8b6c192600702bf2 100644 (file)
@@ -1,7 +1,7 @@
 /*******************************************************************************
 
   Intel 10 Gigabit PCI Express Linux driver
-  Copyright(c) 1999 - 2013 Intel Corporation.
+  Copyright(c) 1999 - 2014 Intel Corporation.
 
   This program is free software; you can redistribute it and/or modify it
   under the terms and conditions of the GNU General Public License,
@@ -67,15 +67,14 @@ s32 ixgbe_read_mbx(struct ixgbe_hw *hw, u32 *msg, u16 size, u16 mbx_id)
 s32 ixgbe_write_mbx(struct ixgbe_hw *hw, u32 *msg, u16 size, u16 mbx_id)
 {
        struct ixgbe_mbx_info *mbx = &hw->mbx;
-       s32 ret_val = 0;
 
        if (size > mbx->size)
-               ret_val = IXGBE_ERR_MBX;
+               return IXGBE_ERR_MBX;
 
-       else if (mbx->ops.write)
-               ret_val = mbx->ops.write(hw, msg, size, mbx_id);
+       if (!mbx->ops.write)
+               return IXGBE_ERR_MBX;
 
-       return ret_val;
+       return mbx->ops.write(hw, msg, size, mbx_id);
 }
 
 /**