From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yangbo Lu Subject: [v2] net: gianfar_ptp: move set_fipers() to spinlock protecting area Date: Tue, 9 Jan 2018 11:02:33 +0800 Message-ID: <20180109030233.16013-1-yangbo.lu@nxp.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Yangbo Lu To: Fabio Estevam , Claudiu Manoil , Richard Cochran , , Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org set_fipers() calling should be protected by spinlock in case that any interrupt breaks related registers setting and the function we expect. This patch is to move set_fipers() to spinlock protecting area in ptp_gianfar_adjtime(). Signed-off-by: Yangbo Lu --- Changes for v2: - explained why spinlock was needed in commit message. --- drivers/net/ethernet/freescale/gianfar_ptp.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/gianfar_ptp.c b/drivers/net/ethernet/freescale/gianfar_ptp.c index 5441142..9f8d4f8 100644 --- a/drivers/net/ethernet/freescale/gianfar_ptp.c +++ b/drivers/net/ethernet/freescale/gianfar_ptp.c @@ -319,11 +319,10 @@ static int ptp_gianfar_adjtime(struct ptp_clock_info *ptp, s64 delta) now = tmr_cnt_read(etsects); now += delta; tmr_cnt_write(etsects, now); + set_fipers(etsects); spin_unlock_irqrestore(&etsects->lock, flags); - set_fipers(etsects); - return 0; } -- 1.7.1