| From ad69940aac734cc34fc0cc2ab8b2299ebe7b340f Mon Sep 17 00:00:00 2001 |
| From: Raju Rangoju <rajur@chelsio.com> |
| Date: Tue, 24 Mar 2020 17:10:00 +0530 |
| Subject: [PATCH] cxgb4/ptp: pass the sign of offset delta in FW CMD |
| |
| commit 50e0d28d3808146cc19b0d5564ef4ba9e5bf3846 upstream. |
| |
| cxgb4_ptp_fineadjtime() doesn't pass the signedness of offset delta |
| in FW_PTP_CMD. Fix it by passing correct sign. |
| |
| Signed-off-by: Raju Rangoju <rajur@chelsio.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c |
| index 58a039c3224a..af1f40cbccc8 100644 |
| --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c |
| +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c |
| @@ -246,6 +246,9 @@ static int cxgb4_ptp_fineadjtime(struct adapter *adapter, s64 delta) |
| FW_PTP_CMD_PORTID_V(0)); |
| c.retval_len16 = cpu_to_be32(FW_CMD_LEN16_V(sizeof(c) / 16)); |
| c.u.ts.sc = FW_PTP_SC_ADJ_FTIME; |
| + c.u.ts.sign = (delta < 0) ? 1 : 0; |
| + if (delta < 0) |
| + delta = -delta; |
| c.u.ts.tm = cpu_to_be64(delta); |
| |
| err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), NULL); |
| -- |
| 2.7.4 |
| |