Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 May 2016 06:40:17 +0000 (UTC)
From:      Andrew Rybchenko <arybchik@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r299905 - head/sys/dev/sfxge/common
Message-ID:  <201605160640.u4G6eHDs063866@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arybchik
Date: Mon May 16 06:40:17 2016
New Revision: 299905
URL: https://svnweb.freebsd.org/changeset/base/299905

Log:
  sfxge(4): fix V1 licensing MCDI operations
  
  Implementation of the MCDI commands for Siena boards was requesting
  the wrong operation.
  
  Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
  Sponsored by:   Solarflare Communications, Inc.
  MFC after:      1 week
  Differential Revision:  https://reviews.freebsd.org/D6370

Modified:
  head/sys/dev/sfxge/common/efx_lic.c

Modified: head/sys/dev/sfxge/common/efx_lic.c
==============================================================================
--- head/sys/dev/sfxge/common/efx_lic.c	Mon May 16 06:38:51 2016	(r299904)
+++ head/sys/dev/sfxge/common/efx_lic.c	Mon May 16 06:40:17 2016	(r299905)
@@ -349,12 +349,15 @@ efx_mcdi_fc_license_update_license(
 	EFSYS_ASSERT(enp->en_family == EFX_FAMILY_SIENA);
 
 	(void) memset(payload, 0, sizeof (payload));
-	req.emr_cmd = MC_CMD_FC_OP_LICENSE;
+	req.emr_cmd = MC_CMD_FC;
 	req.emr_in_buf = payload;
 	req.emr_in_length = MC_CMD_FC_IN_LICENSE_LEN;
 	req.emr_out_buf = payload;
 	req.emr_out_length = 0;
 
+	MCDI_IN_SET_DWORD(req, FC_IN_CMD,
+	    MC_CMD_FC_OP_LICENSE);
+
 	MCDI_IN_SET_DWORD(req, FC_IN_LICENSE_OP,
 	    MC_CMD_FC_IN_LICENSE_UPDATE_LICENSE);
 
@@ -393,12 +396,15 @@ efx_mcdi_fc_license_get_key_stats(
 	EFSYS_ASSERT(enp->en_family == EFX_FAMILY_SIENA);
 
 	(void) memset(payload, 0, sizeof (payload));
-	req.emr_cmd = MC_CMD_FC_OP_LICENSE;
+	req.emr_cmd = MC_CMD_FC;
 	req.emr_in_buf = payload;
 	req.emr_in_length = MC_CMD_FC_IN_LICENSE_LEN;
 	req.emr_out_buf = payload;
 	req.emr_out_length = MC_CMD_FC_OUT_LICENSE_LEN;
 
+	MCDI_IN_SET_DWORD(req, FC_IN_CMD,
+	    MC_CMD_FC_OP_LICENSE);
+
 	MCDI_IN_SET_DWORD(req, FC_IN_LICENSE_OP,
 	    MC_CMD_FC_IN_LICENSE_GET_KEY_STATS);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605160640.u4G6eHDs063866>