diff options
| author | Jason Gunthorpe <jgg@nvidia.com> | 2021-02-18 11:17:24 -0400 | 
|---|---|---|
| committer | Jason Gunthorpe <jgg@nvidia.com> | 2021-02-18 11:19:29 -0400 | 
| commit | 7289e26f395b583f68b676d4d12a0971e4f6f65c (patch) | |
| tree | 99f8abbb112a3144094e0082dd446439b930beea /include/linux/tracepoint.h | |
| parent | ed408529679737a9a7ad816c8de5d59ba104bb11 (diff) | |
| parent | f40ddce88593482919761f74910f42f4b84c004b (diff) | |
Merge tag 'v5.11' into rdma.git for-next
Linux 5.11
Merged to resolve conflicts with RDMA rc commits
- drivers/infiniband/sw/rxe/rxe_net.c
  The final logic is to call rxe_get_dev_from_net() again with the master
  netdev if the packet was rx'd on a vlan. To keep the elimination of the
  local variables requires a trivial edit to the code in -rc
Link: https://lore.kernel.org/r/20210210131542.215ea67c@canb.auug.org.au
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'include/linux/tracepoint.h')
| -rw-r--r-- | include/linux/tracepoint.h | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index 0f21617f1a66..966ed8980327 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -307,11 +307,13 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p)  									\  		it_func_ptr =						\  			rcu_dereference_raw((&__tracepoint_##_name)->funcs); \ -		do {							\ -			it_func = (it_func_ptr)->func;			\ -			__data = (it_func_ptr)->data;			\ -			((void(*)(void *, proto))(it_func))(__data, args); \ -		} while ((++it_func_ptr)->func);			\ +		if (it_func_ptr) {					\ +			do {						\ +				it_func = (it_func_ptr)->func;		\ +				__data = (it_func_ptr)->data;		\ +				((void(*)(void *, proto))(it_func))(__data, args); \ +			} while ((++it_func_ptr)->func);		\ +		}							\  		return 0;						\  	}								\  	DEFINE_STATIC_CALL(tp_func_##_name, __traceiter_##_name);  | 
