FreeBSD/sys/dev/bxe/ecore_sp.c
/**
 * __ecore_vlan_mac_h_read_lock - lock the vlan mac head list reader lock
 *
 * @sc:			device handle
 * @o:			vlan_mac object
 *
 * @details Should be called under the execution queue lock. May sleep. May
 *          release and reclaim execution queue lock during its run.
 */
lock the vlan mac head list reader lock
@sc:                 device handle
@o:                  vlan_mac object

@details Should be called under the execution queue lock. May sleep. May
release and reclaim execution queue lock during its run.
lock the vlan mac head list reader lock @sc : device handle @o : vlan_mac object @details Should be called under the execution queue lock . May sleep . May release and reclaim execution queue lock during its run .
static int __ecore_vlan_mac_h_read_lock(struct bxe_softc *sc,
					struct ecore_vlan_mac_obj *o)
{
	o->head_reader++;
	ECORE_MSG(sc, "vlan_mac_lock - locked reader - number %d\n",
		  o->head_reader);
	return ECORE_SUCCESS;
}
static int __ecore_vlan_mac_h_read_lock ( struct bxe_softc * sc , struct ecore_vlan_mac_obj * o ) { o -> head_reader ++ ; ECORE_MSG ( sc , " \n " , o -> head_reader ) ; return ECORE_SUCCESS ; }
__ecore_vlan_mac_h_read_lock - lock the vlan mac head list reader lock
 @sc:                 device handle
 @o:                  vlan_mac object
__ecore_vlan_mac_h_read_lock - lock the vlan mac head list reader lock @sc : device handle @o : vlan_mac object
/* If we got here, we're holding lock --> no WRITER exists */