netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Shannon Nelson <shannon.nelson@intel.com>,
	netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
	jogreene@redhat.com, Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next 05/17] i40e: fixup padding issue in get_cee_dcb_cfg_v1_resp
Date: Wed, 30 Sep 2015 05:52:29 -0700	[thread overview]
Message-ID: <1443617561-40490-6-git-send-email-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <1443617561-40490-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Shannon Nelson <shannon.nelson@intel.com>

The struct i40e_aqc_get_cee_dcb_cfg_v1_resp was originally defined with
word boundary layout issues, which most compilers deal with by silently
adding padding, making the actual struct larger than designed.
This patch adds an extra byte in fields reserved3 and reserved4 to directly
acknowledge that padding.

Because the struct doesn't actually change in size or layout, this doesn't
constitute a change in the API.

Change-ID: I53fa4741b73fa255621232a85fba000b0e223015
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
index 95d23bf..b840fab 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
@@ -2074,6 +2074,15 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_start);
 #define I40E_AQC_CEE_ISCSI_STATUS_MASK	(0x7 << I40E_AQC_CEE_ISCSI_STATUS_SHIFT)
 #define I40E_AQC_CEE_FIP_STATUS_SHIFT	0x10
 #define I40E_AQC_CEE_FIP_STATUS_MASK	(0x7 << I40E_AQC_CEE_FIP_STATUS_SHIFT)
+
+/* struct i40e_aqc_get_cee_dcb_cfg_v1_resp was originally defined with
+ * word boundary layout issues, which the Linux compilers silently deal
+ * with by adding padding, making the actual struct larger than designed.
+ * However, the FW compiler for the NIC is less lenient and complains
+ * about the struct.  Hence, the struct defined here has an extra byte in
+ * fields reserved3 and reserved4 to directly acknowledge that padding,
+ * and the new length is used in the length check macro.
+ */
 struct i40e_aqc_get_cee_dcb_cfg_v1_resp {
 	u8	reserved1;
 	u8	oper_num_tc;
@@ -2081,9 +2090,9 @@ struct i40e_aqc_get_cee_dcb_cfg_v1_resp {
 	u8	reserved2;
 	u8	oper_tc_bw[8];
 	u8	oper_pfc_en;
-	u8	reserved3;
+	u8	reserved3[2];
 	__le16	oper_app_prio;
-	u8	reserved4;
+	u8	reserved4[2];
 	__le16	tlv_status;
 };
 
-- 
2.4.3

  parent reply	other threads:[~2015-09-30 12:52 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-30 12:52 [net-next 00/17][pull request] Intel Wired LAN Driver Updates 2015-09-30 Jeff Kirsher
2015-09-30 12:52 ` [net-next 01/17] i40evf: missing rtnl_unlock in i40evf_resume() Jeff Kirsher
2015-09-30 12:52 ` [net-next 02/17] i40e: rtnl_lock called twice in i40e_pci_error_resume() Jeff Kirsher
2015-09-30 12:52 ` [net-next 03/17] i40e/i40evf: fix up type clash in i40e_aq_rc_to_posix conversion Jeff Kirsher
2015-09-30 12:52 ` [net-next 04/17] i40e: Fix a port VLAN configuration bug Jeff Kirsher
2015-09-30 12:52 ` Jeff Kirsher [this message]
2015-09-30 12:52 ` [net-next 06/17] i40e/i40evf: fix Tx hang workaround code Jeff Kirsher
2015-09-30 12:52 ` [net-next 07/17] i40e: count drops in netstat interface Jeff Kirsher
2015-09-30 12:52 ` [net-next 08/17] i40e: use QOS field consistently Jeff Kirsher
2015-09-30 12:52 ` [net-next 09/17] i40e: limit debugfs io ops Jeff Kirsher
2015-09-30 12:52 ` [net-next 10/17] i40e: Remove useless message Jeff Kirsher
2015-09-30 12:52 ` [net-next 11/17] i40e/i40evf: add new device id 1588 Jeff Kirsher
2015-09-30 12:52 ` [net-next 12/17] i40e: Strip VEB stats if they are disabled in HW Jeff Kirsher
2015-09-30 12:52 ` [net-next 13/17] i40e: refactor interrupt enable Jeff Kirsher
2015-09-30 12:52 ` [net-next 14/17] i40e: warn on double free Jeff Kirsher
2015-09-30 12:52 ` [net-next 15/17] i40evf: tweak init timing Jeff Kirsher
2015-09-30 12:52 ` [net-next 16/17] i40e: fix kbuild warnings Jeff Kirsher
2015-09-30 12:52 ` [net-next 17/17] i40e: fix 32 bit build warnings Jeff Kirsher
2015-10-03 12:17 ` [net-next 00/17][pull request] Intel Wired LAN Driver Updates 2015-09-30 David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1443617561-40490-6-git-send-email-jeffrey.t.kirsher@intel.com \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=davem@davemloft.net \
    --cc=jogreene@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.com \
    --cc=shannon.nelson@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).