From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Heiko Thiery <heiko.thiery@gmail.com>,
Richard Cochran <richardcochran@gmail.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>,
netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 5.4 01/37] net: fec: ptp: avoid register access when ipg clock is disabled
Date: Tue, 16 Mar 2021 20:57:26 -0400 [thread overview]
Message-ID: <20210317005802.725825-1-sashal@kernel.org> (raw)
From: Heiko Thiery <heiko.thiery@gmail.com>
[ Upstream commit 6a4d7234ae9a3bb31181f348ade9bbdb55aeb5c5 ]
When accessing the timecounter register on an i.MX8MQ the kernel hangs.
This is only the case when the interface is down. This can be reproduced
by reading with 'phc_ctrl eth0 get'.
Like described in the change in 91c0d987a9788dcc5fe26baafd73bf9242b68900
the igp clock is disabled when the interface is down and leads to a
system hang.
So we check if the ptp clock status before reading the timecounter
register.
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Link: https://lore.kernel.org/r/20210225211514.9115-1-heiko.thiery@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/freescale/fec_ptp.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/ethernet/freescale/fec_ptp.c b/drivers/net/ethernet/freescale/fec_ptp.c
index 945643c02615..49fad118988b 100644
--- a/drivers/net/ethernet/freescale/fec_ptp.c
+++ b/drivers/net/ethernet/freescale/fec_ptp.c
@@ -382,9 +382,16 @@ static int fec_ptp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
u64 ns;
unsigned long flags;
+ mutex_lock(&adapter->ptp_clk_mutex);
+ /* Check the ptp clock */
+ if (!adapter->ptp_clk_on) {
+ mutex_unlock(&adapter->ptp_clk_mutex);
+ return -EINVAL;
+ }
spin_lock_irqsave(&adapter->tmreg_lock, flags);
ns = timecounter_read(&adapter->tc);
spin_unlock_irqrestore(&adapter->tmreg_lock, flags);
+ mutex_unlock(&adapter->ptp_clk_mutex);
*ts = ns_to_timespec64(ns);
--
2.30.1
next reply other threads:[~2021-03-17 1:01 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-17 0:57 Sasha Levin [this message]
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 02/37] powerpc/4xx: Fix build errors from mfdcr() Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 03/37] atm: eni: dont release is never initialized Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 04/37] atm: lanai: dont run lanai_dev_close if not open Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 05/37] Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 06/37] ALSA: hda: ignore invalid NHLT table Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [Intel-wired-lan] [PATCH AUTOSEL 5.4 07/37] ixgbe: Fix memleak in ixgbe_configure_clsu32 Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 08/37] net: tehuti: fix error return code in bdx_probe() Sasha Levin
2021-03-17 0:57 ` [Intel-wired-lan] [PATCH AUTOSEL 5.4 09/37] net: intel: iavf: fix error return code of iavf_init_get_resources() Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 10/37] sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 11/37] gianfar: fix jumbo packets+napi+rx overrun crash Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 12/37] cifs: ask for more credit on async read/write code paths Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 13/37] cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 14/37] gpiolib: acpi: Add missing IRQF_ONESHOT Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 15/37] nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 16/37] NFS: Correct size calculation for create reply length Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 17/37] net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 18/37] net: wan: fix error return code of uhdlc_init() Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 19/37] net: davicom: Use platform_get_irq_optional() Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 20/37] atm: uPD98402: fix incorrect allocation Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 21/37] atm: idt77252: fix null-ptr-dereference Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 22/37] cifs: change noisy error message to FYI Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 23/37] irqchip/ingenic: Add support for the JZ4760 Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 24/37] sparc64: Fix opcode filtering in handling of no fault loads Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 25/37] habanalabs: Call put_pid() when releasing control device Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 26/37] u64_stats,lockdep: Fix u64_stats_init() vs lockdep Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 27/37] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 28/37] drm/amd/display: Revert dram_clock_change_latency for DCN2.1 Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 29/37] drm/amdgpu: fb BO should be ttm_bo_type_device Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 30/37] drm/radeon: fix AGP dependency Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 31/37] nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 32/37] nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 33/37] nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a Sasha Levin
2021-03-17 0:57 ` Sasha Levin
2021-03-17 0:57 ` [PATCH AUTOSEL 5.4 34/37] nfs: we don't support removing system.nfs4_acl Sasha Levin
2021-03-17 0:58 ` [PATCH AUTOSEL 5.4 35/37] block: Suppress uevent for hidden device when removed Sasha Levin
2021-03-17 0:58 ` [PATCH AUTOSEL 5.4 36/37] ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls Sasha Levin
2021-03-17 0:58 ` Sasha Levin
2021-03-17 0:58 ` [PATCH AUTOSEL 5.4 37/37] ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign Sasha Levin
2021-03-17 0:58 ` Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210317005802.725825-1-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=heiko.thiery@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.