i40evf: don't violate scope
authorMitch Williams <mitch.a.williams@intel.com>
Wed, 4 Jun 2014 08:45:16 +0000 (08:45 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 3 Jul 2014 02:02:18 +0000 (19:02 -0700)
Move a declaration up one level so we don't dereference it out of scope.
This didn't cause any panics, but the details->async field would
mysteriously disappear, causing unnecessary delays when sending AQ
commands. Also, the code is just plain wrong.

Change-ID: I753f64f13c55e5d75ea4351e29b14fb53b2f0104
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40e_common.c

index a43155afdbe24784d750f5fa8878e57a100913c8..4ea90bf239bb204ed5603b66680413191f46bf66 100644 (file)
@@ -551,6 +551,7 @@ i40e_status i40e_aq_send_msg_to_pf(struct i40e_hw *hw,
                                struct i40e_asq_cmd_details *cmd_details)
 {
        struct i40e_aq_desc desc;
+       struct i40e_asq_cmd_details details;
        i40e_status status;
 
        i40evf_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_send_msg_to_pf);
@@ -565,7 +566,6 @@ i40e_status i40e_aq_send_msg_to_pf(struct i40e_hw *hw,
                desc.datalen = cpu_to_le16(msglen);
        }
        if (!cmd_details) {
-               struct i40e_asq_cmd_details details;
                memset(&details, 0, sizeof(details));
                details.async = true;
                cmd_details = &details;