svn commit: r293112 - head/sys/dev/ixl

John Baldwin jhb at freebsd.org
Mon Jan 4 14:56:56 UTC 2016


On Sunday, January 03, 2016 06:09:47 PM Garrett Cooper wrote:
> Author: ngie
> Date: Sun Jan  3 18:09:46 2016
> New Revision: 293112
> URL: https://svnweb.freebsd.org/changeset/base/293112
> 
> Log:
>   Fix ixl(4) compilation with PCI_IOV pre-r266974
>   
>   stable/10 doesn't have the if_getdrvflags(9) KPI. Reference the field in the
>   structure directly if the __FreeBSD_version is < 1100022, so the driver can
>   be built with PCI_IOV support on stable/10, without backporting all of
>   r266974 (which requires additional changes due to projects/ifnet, etc)
>   
>   Differential Revision: https://reviews.freebsd.org/D4759
>   Reviewed by: erj, sbruno
>   Sponsored by: EMC / Isilon Storage Division
> 
> Modified:
>   head/sys/dev/ixl/if_ixl.c
> 
> Modified: head/sys/dev/ixl/if_ixl.c
> ==============================================================================
> --- head/sys/dev/ixl/if_ixl.c	Sun Jan  3 17:58:11 2016	(r293111)
> +++ head/sys/dev/ixl/if_ixl.c	Sun Jan  3 18:09:46 2016	(r293112)
> @@ -6606,7 +6606,11 @@ ixl_iov_uninit(device_t dev)
>  		pf->veb_seid = 0;
>  	}
>  
> +#if __FreeBSD_version > 1100022
>  	if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)
> +#else
> +	if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
> +#endif
>  		ixl_disable_intr(vsi);

FWIW, it is probably simpler to do something like this in an ixl header instead:

#if __FreeBSD_version <= 1100022
#define if_getdrvflags(ifp)	(ifp)->if_drv_flags
#endif

In the past when the Intel drivers have used compat shims they have preferred this
method (defining compat macros for "new" APIs on old OS versions) instead of using
#ifdef's in the code itself.

-- 
John Baldwin


More information about the svn-src-all mailing list