From ce1a476adcedc0b6048439e2ae1665b86aec5ada Mon Sep 17 00:00:00 2001 From: Wang Xiao W Date: Thu, 10 Sep 2015 12:38:11 +0800 Subject: [PATCH] fm10k/base: add VF Tx timestamp mode no-op This patch resolves a bug in Linux where we called the request_tx_timestamp_mode function that is undefined for VF. Implement a no-op function that simply ensures that the mode is NONE, otherwise it would fail with ERR_PARAM. Signed-off-by: Wang Xiao W --- drivers/net/fm10k/base/fm10k_vf.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/net/fm10k/base/fm10k_vf.c b/drivers/net/fm10k/base/fm10k_vf.c index 2246688cfc..76be9ab3c0 100644 --- a/drivers/net/fm10k/base/fm10k_vf.c +++ b/drivers/net/fm10k/base/fm10k_vf.c @@ -545,6 +545,26 @@ STATIC s32 fm10k_configure_dglort_map_vf(struct fm10k_hw *hw, return FM10K_SUCCESS; } +/** + * fm10k_request_tx_timestamp_mode_vf - Request Tx timestamp mode + * @hw: pointer to hardware structure + * @glort: glort to request Tx timestamps for + * @mode: timestamp mode to request + * + * This function takes the requested timestamp mode and verifies that it was + * requested as none since the VF cannot support receipt of Tx timestamps. + * + * If the mode is non-zero ERR_PARAM, else success + **/ +STATIC s32 fm10k_request_tx_timestamp_mode_vf(struct fm10k_hw *hw, + u16 glort, + u8 mode) +{ + UNREFERENCED_2PARAMETER(hw, glort); + + return mode ? FM10K_ERR_PARAM : FM10K_SUCCESS; +} + /** * fm10k_adjust_systime_vf - Adjust systime frequency * @hw: pointer to hardware structure @@ -633,7 +653,8 @@ s32 fm10k_init_ops_vf(struct fm10k_hw *hw) mac->ops.configure_dglort_map = &fm10k_configure_dglort_map_vf; mac->ops.get_host_state = &fm10k_get_host_state_generic; mac->ops.adjust_systime = &fm10k_adjust_systime_vf; - mac->ops.read_systime = &fm10k_read_systime_vf, + mac->ops.read_systime = &fm10k_read_systime_vf; + mac->ops.request_tx_timestamp_mode = &fm10k_request_tx_timestamp_mode_vf; mac->max_msix_vectors = fm10k_get_pcie_msix_count_generic(hw); -- 2.20.1