Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jan 2016 15:32:24 +0000 (UTC)
From:      Andrew Rybchenko <arybchik@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r293967 - stable/10/sys/dev/sfxge/common
Message-ID:  <201601141532.u0EFWOgt046145@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arybchik
Date: Thu Jan 14 15:32:24 2016
New Revision: 293967
URL: https://svnweb.freebsd.org/changeset/base/293967

Log:
  MFC r292052
  
  sfxge: simplify privilege checks with macro
  
  Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
  Sponsored by:   Solarflare Communications, Inc.

Modified:
  stable/10/sys/dev/sfxge/common/efx_mcdi.h
  stable/10/sys/dev/sfxge/common/hunt_mcdi.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/sfxge/common/efx_mcdi.h
==============================================================================
--- stable/10/sys/dev/sfxge/common/efx_mcdi.h	Thu Jan 14 15:30:46 2016	(r293966)
+++ stable/10/sys/dev/sfxge/common/efx_mcdi.h	Thu Jan 14 15:32:24 2016	(r293967)
@@ -386,6 +386,11 @@ efx_mcdi_get_loopback_modes(
 #define	MCDI_CMD_DWORD_FIELD(_edp, _field)				\
 	EFX_DWORD_FIELD(*_edp, MC_CMD_ ## _field)
 
+#define EFX_MCDI_HAVE_PRIVILEGE(mask, priv)              \
+	(((mask) &                                  \
+	(MC_CMD_PRIVILEGE_MASK_IN_GRP_ ## priv)) == \
+	(MC_CMD_PRIVILEGE_MASK_IN_GRP_ ## priv))
+
 #ifdef	__cplusplus
 }
 #endif

Modified: stable/10/sys/dev/sfxge/common/hunt_mcdi.c
==============================================================================
--- stable/10/sys/dev/sfxge/common/hunt_mcdi.c	Thu Jan 14 15:30:46 2016	(r293966)
+++ stable/10/sys/dev/sfxge/common/hunt_mcdi.c	Thu Jan 14 15:32:24 2016	(r293967)
@@ -412,9 +412,8 @@ hunt_mcdi_fw_update_supported(
 	 * Admin privilege must be used prior to introduction of
 	 * specific flag.
 	 */
-	*supportedp = (encp->enc_privilege_mask &
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN)
-	    == MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN;
+	*supportedp =
+	    EFX_MCDI_HAVE_PRIVILEGE(encp->enc_privilege_mask, ADMIN);
 
 	return (0);
 }
@@ -436,12 +435,9 @@ hunt_mcdi_macaddr_change_supported(
 	 * introduction of change mac spoofing privilege (at v4.7)
 	 */
 	*supportedp =
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_CHANGE_MAC) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_CHANGE_MAC) ||
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ||
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN);
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, CHANGE_MAC) ||
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, MAC_SPOOFING) ||
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, ADMIN);
 
 	return (0);
 }
@@ -463,12 +459,9 @@ hunt_mcdi_mac_spoofing_supported(
 	 * introduction of mac spoofing TX privilege (at v4.7)
 	 */
 	*supportedp =
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING_TX) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING_TX) ||
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ||
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN);
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, MAC_SPOOFING_TX) ||
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, MAC_SPOOFING) ||
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, ADMIN);
 
 	return (0);
 }
@@ -490,10 +483,8 @@ hunt_mcdi_link_control_supported(
 	 * specific flag.
 	 */
 	*supportedp =
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_LINK) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_LINK) ||
-	    ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN) ==
-	    MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN);
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, LINK) ||
+	    EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, ADMIN);
 
 	return (0);
 }



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