linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH AUTOSEL for 4.14 001/110] net: phy: fix resume handling
@ 2018-02-03 18:00 Sasha Levin
  2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 002/110] exec: avoid gcc-8 warning for get_task_comm Sasha Levin
                   ` (108 more replies)
  0 siblings, 109 replies; 138+ messages in thread
From: Sasha Levin @ 2018-02-03 18:00 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Russell King, David S . Miller, Sasha Levin

From: Russell King <rmk+kernel@armlinux.org.uk>

[ Upstream commit f5e64032a799d4f54decc7eb6aafcdffb67f9ad9 ]

When a PHY has the BMCR_PDOWN bit set, it may decide to ignore writes
to other registers, or reset the registers to power-on defaults.
Micrel PHYs do this for their interrupt registers.

The current structure of phylib tries to enable interrupts before
resuming (and releasing) the BMCR_PDOWN bit.  This fails, causing
Micrel PHYs to stop working after a suspend/resume sequence if they
are using interrupts.

Fix this by ensuring that the PHY driver resume methods do not take
the phydev->lock mutex themselves, but the callers of phy_resume()
take that lock.  This then allows us to move the call to phy_resume()
before we enable interrupts in phy_start().

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
 drivers/net/phy/at803x.c     |  4 ----
 drivers/net/phy/phy.c        |  9 +++------
 drivers/net/phy/phy_device.c | 10 ++++++----
 3 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index 5f93e6add563..e911e4990b20 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -239,14 +239,10 @@ static int at803x_resume(struct phy_device *phydev)
 {
 	int value;
 
-	mutex_lock(&phydev->lock);
-
 	value = phy_read(phydev, MII_BMCR);
 	value &= ~(BMCR_PDOWN | BMCR_ISOLATE);
 	phy_write(phydev, MII_BMCR, value);
 
-	mutex_unlock(&phydev->lock);
-
 	return 0;
 }
 
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 2b1e67bc1e73..ed10d1fc8f59 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -828,7 +828,6 @@ EXPORT_SYMBOL(phy_stop);
  */
 void phy_start(struct phy_device *phydev)
 {
-	bool do_resume = false;
 	int err = 0;
 
 	mutex_lock(&phydev->lock);
@@ -841,6 +840,9 @@ void phy_start(struct phy_device *phydev)
 		phydev->state = PHY_UP;
 		break;
 	case PHY_HALTED:
+		/* if phy was suspended, bring the physical link up again */
+		phy_resume(phydev);
+
 		/* make sure interrupts are re-enabled for the PHY */
 		if (phydev->irq != PHY_POLL) {
 			err = phy_enable_interrupts(phydev);
@@ -849,17 +851,12 @@ void phy_start(struct phy_device *phydev)
 		}
 
 		phydev->state = PHY_RESUMING;
-		do_resume = true;
 		break;
 	default:
 		break;
 	}
 	mutex_unlock(&phydev->lock);
 
-	/* if phy was suspended, bring the physical link up again */
-	if (do_resume)
-		phy_resume(phydev);
-
 	phy_trigger_machine(phydev, true);
 }
 EXPORT_SYMBOL(phy_start);
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 67f25ac29025..b15b31ca2618 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -135,7 +135,9 @@ static int mdio_bus_phy_resume(struct device *dev)
 	if (!mdio_bus_phy_may_suspend(phydev))
 		goto no_resume;
 
+	mutex_lock(&phydev->lock);
 	ret = phy_resume(phydev);
+	mutex_unlock(&phydev->lock);
 	if (ret < 0)
 		return ret;
 
@@ -1026,7 +1028,9 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
 	if (err)
 		goto error;
 
+	mutex_lock(&phydev->lock);
 	phy_resume(phydev);
+	mutex_unlock(&phydev->lock);
 	phy_led_triggers_register(phydev);
 
 	return err;
@@ -1157,6 +1161,8 @@ int phy_resume(struct phy_device *phydev)
 	struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver);
 	int ret = 0;
 
+	WARN_ON(!mutex_is_locked(&phydev->lock));
+
 	if (phydev->drv && phydrv->resume)
 		ret = phydrv->resume(phydev);
 
@@ -1639,13 +1645,9 @@ int genphy_resume(struct phy_device *phydev)
 {
 	int value;
 
-	mutex_lock(&phydev->lock);
-
 	value = phy_read(phydev, MII_BMCR);
 	phy_write(phydev, MII_BMCR, value & ~BMCR_PDOWN);
 
-	mutex_unlock(&phydev->lock);
-
 	return 0;
 }
 EXPORT_SYMBOL(genphy_resume);
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 138+ messages in thread

end of thread, other threads:[~2018-03-16 12:46 UTC | newest]

Thread overview: 138+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-03 18:00 [PATCH AUTOSEL for 4.14 001/110] net: phy: fix resume handling Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 002/110] exec: avoid gcc-8 warning for get_task_comm Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 003/110] mm/frame_vector.c: release a semaphore in 'get_vaddr_frames()' Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 004/110] scsi: aacraid: Fix I/O drop during reset Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 005/110] dmaengine: fsl-edma: disable clks on all error paths Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 006/110] KVM/x86: Check input paging mode when cs.l is set Sasha Levin
2018-02-04  1:24   ` Eric Biggers
2018-02-04  2:17     ` Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 007/110] phy: cpcap-usb: Fix platform_get_irq_byname's error checking Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 008/110] nvme-fc: remove double put reference if admin connect fails Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 009/110] nvme: check hw sectors before setting chunk sectors Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 010/110] net: aquantia: Fix actual speed capabilities reporting Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 011/110] net: aquantia: Fix hardware DMA stream overload on large MRRS Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 013/110] mtd: nand: gpmi: Fix failure when a erased page has a bitflip at BBM Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 012/110] net: usb: qmi_wwan: add Telit ME910 PID 0x1101 support Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 015/110] ipv6: icmp6: Allow icmp messages to be looped back Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 014/110] mtd: nand: brcmnand: Zero bitflip is not an error Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 017/110] ARM: 8731/1: Fix csum_partial_copy_from_user() stack mismatch Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 016/110] parisc: Reduce thread stack to 16 kb Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 018/110] x86/asm: Allow again using asm.h when building for the 'bpf' clang target Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 020/110] mm,vmscan: Make unregister_shrinker() no-op if register_shrinker() failed Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 019/110] sctp: fix the issue that a __u16 variable may overflow in sctp_ulpq_renege Sasha Levin
2018-02-05 11:35   ` David Laight
2018-02-06 10:42     ` Xin Long
2018-02-06 11:00       ` David Laight
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 022/110] net: phy: xgene: disable clk on error paths Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 021/110] sget(): handle failures of register_shrinker() Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 023/110] drm/nouveau/pci: do a msi rearm on init Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 024/110] scsi: core: check for device state in __scsi_remove_target() Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 025/110] xfrm: Reinject transport-mode packets through tasklet Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 026/110] x86/stacktrace: Make zombie stack traces reliable Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 028/110] spi: atmel: fixed spin_lock usage inside atmel_spi_remove Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 027/110] mac80211_hwsim: Fix a possible sleep-in-atomic bug in hwsim_get_radio_nl Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 030/110] cgroup: Fix deadlock in cpu hotplug path Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 029/110] ASoC: nau8825: fix issue that pop noise when start capture Sasha Levin
2018-02-05 11:41   ` Mark Brown
2018-02-06  1:41     ` Sasha Levin
2018-02-06  9:28       ` Greg KH
2018-02-06 11:25       ` Mark Brown
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 031/110] staging: ion: Fix ion_cma_heap allocations Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 032/110] x86-64/Xen: eliminate W+X mappings Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 033/110] net: mediatek: setup proper state for disabled GMAC on the default Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 035/110] vxlan: update skb dst pmtu on tx path Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 034/110] net: arc_emac: fix arc_emac_rx() error paths Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 037/110] ip6_gre: remove the incorrect mtu limit for ipgre tap Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 036/110] ip_gre: " Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 038/110] ip6_tunnel: get the min mtu properly in ip6_tnl_xmit Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 039/110] net: stmmac: Fix TX timestamp calculation Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 040/110] net: stmmac: Fix bad RX timestamp extraction Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 042/110] net/mlx5: Cleanup IRQs in case of unload failure Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 041/110] net/mlx5e: Fix ETS BW check Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 044/110] ASoC: rsnd: fixup ADG register mask Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 043/110] net/mlx5: Stay in polling mode when command EQ destroy fails Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 046/110] netfilter: nf_tables: fix chain filter in nf_tables_dump_rules() Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 045/110] xen/balloon: Mark unallocated host memory as UNUSABLE Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 049/110] i915: Reject CCS modifiers for pipe C on Geminilake Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 048/110] netfilter: uapi: correct UNTRACKED conntrack state bit number Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 047/110] scsi: storvsc: Fix scsi_cmd error assignments in storvsc_handle_error Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 051/110] ARM: dts: ls1021a: fix incorrect clock references Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 050/110] RDMA/vmw_pvrdma: Call ib_umem_release on destroy QP path Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 053/110] lib/mpi: Fix umul_ppmm() for MIPS64r6 Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 052/110] crypto: af_alg - Fix race around ctx->rcvused by making it atomic_t Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 054/110] arm64: dts: renesas: ulcb: Remove renesas, no-ether-link property Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 057/110] crypto: inside-secure - fix request allocations in invalidation path Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 056/110] crypto: inside-secure - free requests even if their handling failed Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 055/110] crypto: inside-secure - per request invalidation Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 058/110] netfilter: nf_tables: fix potential NULL-ptr deref in nf_tables_dump_obj_done() Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 059/110] tipc: error path leak fixes in tipc_enable_bearer() Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 060/110] tipc: fix tipc_mon_delete() oops in tipc_enable_bearer() error path Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 061/110] tg3: Add workaround to restrict 5762 MRRS to 2048 Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 062/110] tg3: Enable PHY reset in MTU change path for 5720 Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 063/110] bnx2x: Improve reliability in case of nested PCI errors Sasha Levin
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 065/110] led: core: Fix brightness setting when setting delay_off=0 Sasha Levin
2018-02-03 20:35   ` Pavel Machek
2018-02-04  0:30     ` Sasha Levin
2018-02-04  9:05       ` Pavel Machek
2018-02-04 11:15         ` Greg KH
2018-02-04 17:17           ` Pavel Machek
2018-02-06  2:02             ` Sasha Levin
2018-02-06 20:44               ` Jacek Anaszewski
2018-03-12 15:00                 ` Matthias Schiffer
2018-03-12 15:28                   ` Greg KH
2018-03-12 15:45                     ` Matthias Schiffer
2018-03-12 20:20                       ` Jacek Anaszewski
2018-03-13  7:50                         ` Pavel Machek
2018-03-13  9:37                         ` Greg KH
2018-03-13 13:27                           ` Pavel Machek
2018-03-13 19:44                             ` Jacek Anaszewski
2018-03-16 12:46                               ` Greg KH
2018-02-06 21:51               ` Pavel Machek
2018-02-04 15:49         ` Sasha Levin
2018-02-04 17:31           ` Pavel Machek
2018-02-03 18:00 ` [PATCH AUTOSEL for 4.14 064/110] perf/x86/intel: Plug memory leak in intel_pmu_init() Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 067/110] genirq: Guard handle_bad_irq log messages Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 066/110] IB/mlx5: Fix mlx5_ib_alloc_mr error flow Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 068/110] afs: Fix missing error handling in afs_write_end() Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 069/110] s390/dasd: fix wrongly assigned configuration data Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 071/110] ip6_tunnel: allow ip6gre dev mtu to be set below 1280 Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 070/110] btrfs: Fix flush bio leak Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 072/110] Input: xen-kbdfront - do not advertise multi-touch pressure support Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 073/110] IB/mlx4: Fix mlx4_ib_alloc_mr error flow Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 075/110] xfs: quota: fix missed destroy of qi_tree_lock Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 074/110] IB/ipoib: Fix race condition in neigh creation Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 076/110] xfs: quota: check result of register_shrinker() Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 077/110] macvlan: Fix one possible double free Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 078/110] e1000: fix disabling already-disabled warning Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 079/110] NET: usb: qmi_wwan: add support for YUGA CLM920-NC5 PID 0x9625 Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 080/110] drm/ttm: check the return value of kzalloc Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 081/110] RDMA/netlink: Fix locking around __ib_get_device_by_index Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 082/110] x86/efi: Fix kernel param add_efi_memmap regression Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 083/110] uapi libc compat: add fallback for unsupported libcs Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 084/110] i40e/i40evf: Account for frags split over multiple descriptors in check linearize Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 085/110] i40e: don't remove netdev->dev_addr when syncing uc list Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 086/110] net: ena: unmask MSI-X only after device initialization is completed Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 087/110] nl80211: Check for the required netlink attribute presence Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 089/110] can: flex_can: Correct the checking for frame length in flexcan_start_xmit() Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 088/110] mac80211: mesh: drop frames appearing to be from us Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 090/110] wcn36xx: Fix dynamic power saving Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 091/110] block: drain queue before waiting for q_usage_counter becoming zero Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 092/110] ia64, sched/cputime: Fix build error if CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 093/110] bpf: sockmap missing NULL psock check Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 094/110] leds: core: Fix regression caused by commit 2b83ff96f51d Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 095/110] powerpc/pseries: Make RAS IRQ explicitly dependent on DLPAR WQ Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 096/110] nvme-fabrics: initialize default host->id in nvmf_host_default() Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 097/110] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const" Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 098/110] bnxt_en: Fix population of flow_type in bnxt_hwrm_cfa_flow_alloc() Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 099/110] bnxt_en: Fix the 'Invalid VF' id check in bnxt_vf_ndo_prep routine Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 100/110] xen-netfront: enable device after manual module load Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 101/110] mdio-sun4i: Fix a memory leak Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 103/110] xen/gntdev: Fix off-by-one error when unmapping with holes Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 102/110] SolutionEngine771x: fix Ether platform data Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 104/110] xen/gntdev: Fix partial gntdev_mmap() cleanup Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 105/110] sctp: add a ceiling to optlen in some sockopts Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 106/110] sctp: make use of pre-calculated len Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 107/110] net: gianfar_ptp: move set_fipers() to spinlock protecting area Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 109/110] nfp: always unmask aux interrupts at init Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 108/110] of_mdio: avoid MDIO bus removal when a PHY is missing Sasha Levin
2018-02-03 18:01 ` [PATCH AUTOSEL for 4.14 110/110] mlxsw: pci: Wait after reset before accessing HW Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).