stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Lukasz Luba <lukasz.luba@arm.com>,
	Inki Dae <inki.dae@samsung.com>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.5 072/170] drm/exynos: Fix cleanup of IOMMU related objects
Date: Tue, 31 Mar 2020 10:58:06 +0200	[thread overview]
Message-ID: <20200331085432.015089006@linuxfoundation.org> (raw)
In-Reply-To: <20200331085423.990189598@linuxfoundation.org>

From: Marek Szyprowski <m.szyprowski@samsung.com>

[ Upstream commit 07dc3678bacc2a75b1900febea7d996a31f178a2 ]

Store the IOMMU mapping created by the device core of each Exynos DRM
sub-device and restore it when the Exynos DRM driver is unbound. This
fixes IOMMU initialization failure for the second time when a deferred
probe is triggered from the bind() callback of master's compound DRM
driver. This also fixes the following issue found using kmemleak
detector:

unreferenced object 0xc2137640 (size 64):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    50 a3 14 c2 80 a2 14 c2 01 00 00 00 20 00 00 00  P........... ...
    00 10 00 00 00 80 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<3acd268d>] arch_setup_dma_ops+0x4c/0x104
    [<9f7d2cce>] of_dma_configure+0x19c/0x3a4
    [<ba07704b>] really_probe+0xb0/0x47c
    [<4f510e4f>] driver_probe_device+0x78/0x1c4
    [<7481a0cf>] device_driver_attach+0x58/0x60
    [<0ff8f5c1>] __driver_attach+0xb8/0x158
    [<86006144>] bus_for_each_dev+0x74/0xb4
    [<10159dca>] bus_add_driver+0x1c0/0x200
    [<8a265265>] driver_register+0x74/0x108
    [<e0f3451a>] exynos_drm_init+0xb0/0x134
    [<db3fc7ba>] do_one_initcall+0x90/0x458
    [<6da35917>] kernel_init_freeable+0x188/0x200
    [<db3f74d4>] kernel_init+0x8/0x110
    [<1f3cddf9>] ret_from_fork+0x14/0x20
    [<8cd12507>] 0x0
unreferenced object 0xc214a280 (size 128):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    00 a0 ec ed 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<3acd268d>] arch_setup_dma_ops+0x4c/0x104
    [<9f7d2cce>] of_dma_configure+0x19c/0x3a4
    [<ba07704b>] really_probe+0xb0/0x47c
    [<4f510e4f>] driver_probe_device+0x78/0x1c4
    [<7481a0cf>] device_driver_attach+0x58/0x60
    [<0ff8f5c1>] __driver_attach+0xb8/0x158
    [<86006144>] bus_for_each_dev+0x74/0xb4
    [<10159dca>] bus_add_driver+0x1c0/0x200
    [<8a265265>] driver_register+0x74/0x108
    [<e0f3451a>] exynos_drm_init+0xb0/0x134
    [<db3fc7ba>] do_one_initcall+0x90/0x458
    [<6da35917>] kernel_init_freeable+0x188/0x200
    [<db3f74d4>] kernel_init+0x8/0x110
    [<1f3cddf9>] ret_from_fork+0x14/0x20
    [<8cd12507>] 0x0
unreferenced object 0xedeca000 (size 4096):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<3acd268d>] arch_setup_dma_ops+0x4c/0x104
    [<9f7d2cce>] of_dma_configure+0x19c/0x3a4
    [<ba07704b>] really_probe+0xb0/0x47c
    [<4f510e4f>] driver_probe_device+0x78/0x1c4
    [<7481a0cf>] device_driver_attach+0x58/0x60
    [<0ff8f5c1>] __driver_attach+0xb8/0x158
    [<86006144>] bus_for_each_dev+0x74/0xb4
    [<10159dca>] bus_add_driver+0x1c0/0x200
    [<8a265265>] driver_register+0x74/0x108
    [<e0f3451a>] exynos_drm_init+0xb0/0x134
    [<db3fc7ba>] do_one_initcall+0x90/0x458
    [<6da35917>] kernel_init_freeable+0x188/0x200
    [<db3f74d4>] kernel_init+0x8/0x110
    [<1f3cddf9>] ret_from_fork+0x14/0x20
    [<8cd12507>] 0x0
unreferenced object 0xc214a300 (size 128):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    00 a3 14 c2 00 a3 14 c2 00 40 18 c2 00 80 18 c2  .........@......
    02 00 02 00 ad 4e ad de ff ff ff ff ff ff ff ff  .....N..........
  backtrace:
    [<08cbd8bc>] iommu_domain_alloc+0x24/0x50
    [<b835abee>] arm_iommu_create_mapping+0xe4/0x134
    [<3acd268d>] arch_setup_dma_ops+0x4c/0x104
    [<9f7d2cce>] of_dma_configure+0x19c/0x3a4
    [<ba07704b>] really_probe+0xb0/0x47c
    [<4f510e4f>] driver_probe_device+0x78/0x1c4
    [<7481a0cf>] device_driver_attach+0x58/0x60
    [<0ff8f5c1>] __driver_attach+0xb8/0x158
    [<86006144>] bus_for_each_dev+0x74/0xb4
    [<10159dca>] bus_add_driver+0x1c0/0x200
    [<8a265265>] driver_register+0x74/0x108
    [<e0f3451a>] exynos_drm_init+0xb0/0x134
    [<db3fc7ba>] do_one_initcall+0x90/0x458
    [<6da35917>] kernel_init_freeable+0x188/0x200
    [<db3f74d4>] kernel_init+0x8/0x110
    [<1f3cddf9>] ret_from_fork+0x14/0x20

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/exynos/exynos5433_drm_decon.c |  5 ++--
 drivers/gpu/drm/exynos/exynos7_drm_decon.c    |  5 ++--
 drivers/gpu/drm/exynos/exynos_drm_dma.c       | 28 +++++++++++++------
 drivers/gpu/drm/exynos/exynos_drm_drv.h       |  6 ++--
 drivers/gpu/drm/exynos/exynos_drm_fimc.c      |  5 ++--
 drivers/gpu/drm/exynos/exynos_drm_fimd.c      |  5 ++--
 drivers/gpu/drm/exynos/exynos_drm_g2d.c       |  5 ++--
 drivers/gpu/drm/exynos/exynos_drm_gsc.c       |  5 ++--
 drivers/gpu/drm/exynos/exynos_drm_rotator.c   |  5 ++--
 drivers/gpu/drm/exynos/exynos_drm_scaler.c    |  6 ++--
 drivers/gpu/drm/exynos/exynos_mixer.c         |  7 +++--
 11 files changed, 53 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index 2d5cbfda3ca79..9c262daf5816e 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -55,6 +55,7 @@ static const char * const decon_clks_name[] = {
 struct decon_context {
 	struct device			*dev;
 	struct drm_device		*drm_dev;
+	void				*dma_priv;
 	struct exynos_drm_crtc		*crtc;
 	struct exynos_drm_plane		planes[WINDOWS_NR];
 	struct exynos_drm_plane_config	configs[WINDOWS_NR];
@@ -644,7 +645,7 @@ static int decon_bind(struct device *dev, struct device *master, void *data)
 
 	decon_clear_channels(ctx->crtc);
 
-	return exynos_drm_register_dma(drm_dev, dev);
+	return exynos_drm_register_dma(drm_dev, dev, &ctx->dma_priv);
 }
 
 static void decon_unbind(struct device *dev, struct device *master, void *data)
@@ -654,7 +655,7 @@ static void decon_unbind(struct device *dev, struct device *master, void *data)
 	decon_disable(ctx->crtc);
 
 	/* detach this sub driver from iommu mapping if supported. */
-	exynos_drm_unregister_dma(ctx->drm_dev, ctx->dev);
+	exynos_drm_unregister_dma(ctx->drm_dev, ctx->dev, &ctx->dma_priv);
 }
 
 static const struct component_ops decon_component_ops = {
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index f0640950bd465..6fd40410dfd2e 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -40,6 +40,7 @@
 struct decon_context {
 	struct device			*dev;
 	struct drm_device		*drm_dev;
+	void				*dma_priv;
 	struct exynos_drm_crtc		*crtc;
 	struct exynos_drm_plane		planes[WINDOWS_NR];
 	struct exynos_drm_plane_config	configs[WINDOWS_NR];
@@ -127,13 +128,13 @@ static int decon_ctx_initialize(struct decon_context *ctx,
 
 	decon_clear_channels(ctx->crtc);
 
-	return exynos_drm_register_dma(drm_dev, ctx->dev);
+	return exynos_drm_register_dma(drm_dev, ctx->dev, &ctx->dma_priv);
 }
 
 static void decon_ctx_remove(struct decon_context *ctx)
 {
 	/* detach this sub driver from iommu mapping if supported. */
-	exynos_drm_unregister_dma(ctx->drm_dev, ctx->dev);
+	exynos_drm_unregister_dma(ctx->drm_dev, ctx->dev, &ctx->dma_priv);
 }
 
 static u32 decon_calc_clkdiv(struct decon_context *ctx,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dma.c b/drivers/gpu/drm/exynos/exynos_drm_dma.c
index 9ebc02768847e..619f81435c1b2 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dma.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dma.c
@@ -58,7 +58,7 @@ static inline void clear_dma_max_seg_size(struct device *dev)
  * mapping.
  */
 static int drm_iommu_attach_device(struct drm_device *drm_dev,
-				struct device *subdrv_dev)
+				struct device *subdrv_dev, void **dma_priv)
 {
 	struct exynos_drm_private *priv = drm_dev->dev_private;
 	int ret;
@@ -74,7 +74,14 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev,
 		return ret;
 
 	if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU)) {
-		if (to_dma_iommu_mapping(subdrv_dev))
+		/*
+		 * Keep the original DMA mapping of the sub-device and
+		 * restore it on Exynos DRM detach, otherwise the DMA
+		 * framework considers it as IOMMU-less during the next
+		 * probe (in case of deferred probe or modular build)
+		 */
+		*dma_priv = to_dma_iommu_mapping(subdrv_dev);
+		if (*dma_priv)
 			arm_iommu_detach_device(subdrv_dev);
 
 		ret = arm_iommu_attach_device(subdrv_dev, priv->mapping);
@@ -98,19 +105,21 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev,
  * mapping
  */
 static void drm_iommu_detach_device(struct drm_device *drm_dev,
-				struct device *subdrv_dev)
+				    struct device *subdrv_dev, void **dma_priv)
 {
 	struct exynos_drm_private *priv = drm_dev->dev_private;
 
-	if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU))
+	if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU)) {
 		arm_iommu_detach_device(subdrv_dev);
-	else if (IS_ENABLED(CONFIG_IOMMU_DMA))
+		arm_iommu_attach_device(subdrv_dev, *dma_priv);
+	} else if (IS_ENABLED(CONFIG_IOMMU_DMA))
 		iommu_detach_device(priv->mapping, subdrv_dev);
 
 	clear_dma_max_seg_size(subdrv_dev);
 }
 
-int exynos_drm_register_dma(struct drm_device *drm, struct device *dev)
+int exynos_drm_register_dma(struct drm_device *drm, struct device *dev,
+			    void **dma_priv)
 {
 	struct exynos_drm_private *priv = drm->dev_private;
 
@@ -137,13 +146,14 @@ int exynos_drm_register_dma(struct drm_device *drm, struct device *dev)
 		priv->mapping = mapping;
 	}
 
-	return drm_iommu_attach_device(drm, dev);
+	return drm_iommu_attach_device(drm, dev, dma_priv);
 }
 
-void exynos_drm_unregister_dma(struct drm_device *drm, struct device *dev)
+void exynos_drm_unregister_dma(struct drm_device *drm, struct device *dev,
+			       void **dma_priv)
 {
 	if (IS_ENABLED(CONFIG_EXYNOS_IOMMU))
-		drm_iommu_detach_device(drm, dev);
+		drm_iommu_detach_device(drm, dev, dma_priv);
 }
 
 void exynos_drm_cleanup_dma(struct drm_device *drm)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index d4014ba592fdc..735f436c857cc 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -223,8 +223,10 @@ static inline bool is_drm_iommu_supported(struct drm_device *drm_dev)
 	return priv->mapping ? true : false;
 }
 
-int exynos_drm_register_dma(struct drm_device *drm, struct device *dev);
-void exynos_drm_unregister_dma(struct drm_device *drm, struct device *dev);
+int exynos_drm_register_dma(struct drm_device *drm, struct device *dev,
+			    void **dma_priv);
+void exynos_drm_unregister_dma(struct drm_device *drm, struct device *dev,
+			       void **dma_priv);
 void exynos_drm_cleanup_dma(struct drm_device *drm);
 
 #ifdef CONFIG_DRM_EXYNOS_DPI
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
index 8ea2e1d77802a..29ab8be8604c9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
@@ -97,6 +97,7 @@ struct fimc_scaler {
 struct fimc_context {
 	struct exynos_drm_ipp ipp;
 	struct drm_device *drm_dev;
+	void		*dma_priv;
 	struct device	*dev;
 	struct exynos_drm_ipp_task	*task;
 	struct exynos_drm_ipp_formats	*formats;
@@ -1133,7 +1134,7 @@ static int fimc_bind(struct device *dev, struct device *master, void *data)
 
 	ctx->drm_dev = drm_dev;
 	ipp->drm_dev = drm_dev;
-	exynos_drm_register_dma(drm_dev, dev);
+	exynos_drm_register_dma(drm_dev, dev, &ctx->dma_priv);
 
 	exynos_drm_ipp_register(dev, ipp, &ipp_funcs,
 			DRM_EXYNOS_IPP_CAP_CROP | DRM_EXYNOS_IPP_CAP_ROTATE |
@@ -1153,7 +1154,7 @@ static void fimc_unbind(struct device *dev, struct device *master,
 	struct exynos_drm_ipp *ipp = &ctx->ipp;
 
 	exynos_drm_ipp_unregister(dev, ipp);
-	exynos_drm_unregister_dma(drm_dev, dev);
+	exynos_drm_unregister_dma(drm_dev, dev, &ctx->dma_priv);
 }
 
 static const struct component_ops fimc_component_ops = {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 8d0a929104e53..34e6b22173fae 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -167,6 +167,7 @@ static struct fimd_driver_data exynos5420_fimd_driver_data = {
 struct fimd_context {
 	struct device			*dev;
 	struct drm_device		*drm_dev;
+	void				*dma_priv;
 	struct exynos_drm_crtc		*crtc;
 	struct exynos_drm_plane		planes[WINDOWS_NR];
 	struct exynos_drm_plane_config	configs[WINDOWS_NR];
@@ -1090,7 +1091,7 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
 	if (is_drm_iommu_supported(drm_dev))
 		fimd_clear_channels(ctx->crtc);
 
-	return exynos_drm_register_dma(drm_dev, dev);
+	return exynos_drm_register_dma(drm_dev, dev, &ctx->dma_priv);
 }
 
 static void fimd_unbind(struct device *dev, struct device *master,
@@ -1100,7 +1101,7 @@ static void fimd_unbind(struct device *dev, struct device *master,
 
 	fimd_disable(ctx->crtc);
 
-	exynos_drm_unregister_dma(ctx->drm_dev, ctx->dev);
+	exynos_drm_unregister_dma(ctx->drm_dev, ctx->dev, &ctx->dma_priv);
 
 	if (ctx->encoder)
 		exynos_dpi_remove(ctx->encoder);
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 2a3382d43bc90..fcee33a43aca3 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -232,6 +232,7 @@ struct g2d_runqueue_node {
 
 struct g2d_data {
 	struct device			*dev;
+	void				*dma_priv;
 	struct clk			*gate_clk;
 	void __iomem			*regs;
 	int				irq;
@@ -1409,7 +1410,7 @@ static int g2d_bind(struct device *dev, struct device *master, void *data)
 		return ret;
 	}
 
-	ret = exynos_drm_register_dma(drm_dev, dev);
+	ret = exynos_drm_register_dma(drm_dev, dev, &g2d->dma_priv);
 	if (ret < 0) {
 		dev_err(dev, "failed to enable iommu.\n");
 		g2d_fini_cmdlist(g2d);
@@ -1434,7 +1435,7 @@ static void g2d_unbind(struct device *dev, struct device *master, void *data)
 	priv->g2d_dev = NULL;
 
 	cancel_work_sync(&g2d->runqueue_work);
-	exynos_drm_unregister_dma(g2d->drm_dev, dev);
+	exynos_drm_unregister_dma(g2d->drm_dev, dev, &g2d->dma_priv);
 }
 
 static const struct component_ops g2d_component_ops = {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
index 88b6fcaa20be0..45e9aee8366a8 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
@@ -97,6 +97,7 @@ struct gsc_scaler {
 struct gsc_context {
 	struct exynos_drm_ipp ipp;
 	struct drm_device *drm_dev;
+	void		*dma_priv;
 	struct device	*dev;
 	struct exynos_drm_ipp_task	*task;
 	struct exynos_drm_ipp_formats	*formats;
@@ -1169,7 +1170,7 @@ static int gsc_bind(struct device *dev, struct device *master, void *data)
 
 	ctx->drm_dev = drm_dev;
 	ctx->drm_dev = drm_dev;
-	exynos_drm_register_dma(drm_dev, dev);
+	exynos_drm_register_dma(drm_dev, dev, &ctx->dma_priv);
 
 	exynos_drm_ipp_register(dev, ipp, &ipp_funcs,
 			DRM_EXYNOS_IPP_CAP_CROP | DRM_EXYNOS_IPP_CAP_ROTATE |
@@ -1189,7 +1190,7 @@ static void gsc_unbind(struct device *dev, struct device *master,
 	struct exynos_drm_ipp *ipp = &ctx->ipp;
 
 	exynos_drm_ipp_unregister(dev, ipp);
-	exynos_drm_unregister_dma(drm_dev, dev);
+	exynos_drm_unregister_dma(drm_dev, dev, &ctx->dma_priv);
 }
 
 static const struct component_ops gsc_component_ops = {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
index b98482990d1ad..dafa87b820529 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
@@ -56,6 +56,7 @@ struct rot_variant {
 struct rot_context {
 	struct exynos_drm_ipp ipp;
 	struct drm_device *drm_dev;
+	void		*dma_priv;
 	struct device	*dev;
 	void __iomem	*regs;
 	struct clk	*clock;
@@ -243,7 +244,7 @@ static int rotator_bind(struct device *dev, struct device *master, void *data)
 
 	rot->drm_dev = drm_dev;
 	ipp->drm_dev = drm_dev;
-	exynos_drm_register_dma(drm_dev, dev);
+	exynos_drm_register_dma(drm_dev, dev, &rot->dma_priv);
 
 	exynos_drm_ipp_register(dev, ipp, &ipp_funcs,
 			   DRM_EXYNOS_IPP_CAP_CROP | DRM_EXYNOS_IPP_CAP_ROTATE,
@@ -261,7 +262,7 @@ static void rotator_unbind(struct device *dev, struct device *master,
 	struct exynos_drm_ipp *ipp = &rot->ipp;
 
 	exynos_drm_ipp_unregister(dev, ipp);
-	exynos_drm_unregister_dma(rot->drm_dev, rot->dev);
+	exynos_drm_unregister_dma(rot->drm_dev, rot->dev, &rot->dma_priv);
 }
 
 static const struct component_ops rotator_component_ops = {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
index 497973e9b2c55..93c43c8d914ee 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
@@ -39,6 +39,7 @@ struct scaler_data {
 struct scaler_context {
 	struct exynos_drm_ipp		ipp;
 	struct drm_device		*drm_dev;
+	void				*dma_priv;
 	struct device			*dev;
 	void __iomem			*regs;
 	struct clk			*clock[SCALER_MAX_CLK];
@@ -450,7 +451,7 @@ static int scaler_bind(struct device *dev, struct device *master, void *data)
 
 	scaler->drm_dev = drm_dev;
 	ipp->drm_dev = drm_dev;
-	exynos_drm_register_dma(drm_dev, dev);
+	exynos_drm_register_dma(drm_dev, dev, &scaler->dma_priv);
 
 	exynos_drm_ipp_register(dev, ipp, &ipp_funcs,
 			DRM_EXYNOS_IPP_CAP_CROP | DRM_EXYNOS_IPP_CAP_ROTATE |
@@ -470,7 +471,8 @@ static void scaler_unbind(struct device *dev, struct device *master,
 	struct exynos_drm_ipp *ipp = &scaler->ipp;
 
 	exynos_drm_ipp_unregister(dev, ipp);
-	exynos_drm_unregister_dma(scaler->drm_dev, scaler->dev);
+	exynos_drm_unregister_dma(scaler->drm_dev, scaler->dev,
+				  &scaler->dma_priv);
 }
 
 static const struct component_ops scaler_component_ops = {
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index 6cfdb95fef2fa..57e5e60577527 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -94,6 +94,7 @@ struct mixer_context {
 	struct platform_device *pdev;
 	struct device		*dev;
 	struct drm_device	*drm_dev;
+	void			*dma_priv;
 	struct exynos_drm_crtc	*crtc;
 	struct exynos_drm_plane	planes[MIXER_WIN_NR];
 	unsigned long		flags;
@@ -894,12 +895,14 @@ static int mixer_initialize(struct mixer_context *mixer_ctx,
 		}
 	}
 
-	return exynos_drm_register_dma(drm_dev, mixer_ctx->dev);
+	return exynos_drm_register_dma(drm_dev, mixer_ctx->dev,
+				       &mixer_ctx->dma_priv);
 }
 
 static void mixer_ctx_remove(struct mixer_context *mixer_ctx)
 {
-	exynos_drm_unregister_dma(mixer_ctx->drm_dev, mixer_ctx->dev);
+	exynos_drm_unregister_dma(mixer_ctx->drm_dev, mixer_ctx->dev,
+				  &mixer_ctx->dma_priv);
 }
 
 static int mixer_enable_vblank(struct exynos_drm_crtc *crtc)
-- 
2.20.1




  parent reply	other threads:[~2020-03-31  9:07 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31  8:56 [PATCH 5.5 000/170] 5.5.14-rc1 review Greg Kroah-Hartman
2020-03-31  8:56 ` [PATCH 5.5 001/170] mmc: core: Allow host controllers to require R1B for CMD6 Greg Kroah-Hartman
2020-03-31  8:56 ` [PATCH 5.5 002/170] mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for erase/trim/discard Greg Kroah-Hartman
2020-03-31  8:56 ` [PATCH 5.5 003/170] mmc: core: Respect MMC_CAP_NEED_RSP_BUSY for eMMC sleep command Greg Kroah-Hartman
2020-03-31  8:56 ` [PATCH 5.5 004/170] mmc: sdhci-omap: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY Greg Kroah-Hartman
2020-03-31  8:56 ` [PATCH 5.5 005/170] mmc: sdhci-tegra: " Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 006/170] crypto: chacha20poly1305 - add back missing test vectors and test chunking Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 007/170] crypto: arm64/chacha - correctly walk through blocks Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 008/170] cxgb4: fix throughput drop during Tx backpressure Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 009/170] cxgb4: fix Txq restart check during backpressure Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 010/170] geneve: move debug check after netdev unregister Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 011/170] hsr: fix general protection fault in hsr_addr_is_self() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 012/170] ipv4: fix a RCU-list lock in inet_dump_fib() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 013/170] macsec: restrict to ethernet devices Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 014/170] mlxsw: pci: Only issue reset when system is ready Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 015/170] mlxsw: spectrum_mr: Fix list iteration in error path Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 016/170] net/bpfilter: fix dprintf usage for /dev/kmsg Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 017/170] net: cbs: Fix software cbs to consider packet sending time Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 018/170] net: dsa: Fix duplicate frames flooded by learning Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 019/170] net: dsa: mt7530: Change the LINK bit to reflect the link status Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 020/170] net: dsa: tag_8021q: replace dsa_8021q_remove_header with __skb_vlan_pop Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 021/170] net: ena: Add PCI shutdown handler to allow safe kexec Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 022/170] net: mvneta: Fix the case where the last poll did not process all rx Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 023/170] net/packet: tpacket_rcv: avoid a producer race condition Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 024/170] net: phy: dp83867: w/a for fld detect threshold bootstrapping issue Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 025/170] net: phy: mdio-bcm-unimac: Fix clock handling Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 026/170] net: phy: mdio-mux-bcm-iproc: check clk_prepare_enable() return value Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 027/170] net: qmi_wwan: add support for ASKEY WWHC050 Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 028/170] net/sched: act_ct: Fix leak of ct zone template on replace Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 029/170] net_sched: cls_route: remove the right filter from hashtable Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 030/170] net_sched: hold rtnl lock in tcindex_partial_destroy_work() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 031/170] net_sched: keep alloc_hash updated after hash allocation Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 032/170] net: stmmac: dwmac-rk: fix error path in rk_gmac_probe Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 033/170] NFC: fdp: Fix a signedness bug in fdp_nci_send_patch() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 034/170] r8169: re-enable MSI on RTL8168c Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 035/170] slcan: not call free_netdev before rtnl_unlock in slcan_open Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 036/170] tcp: also NULL skb->dev when copy was needed Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 037/170] tcp: ensure skb->dev is NULL before leaving TCP stack Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 038/170] tcp: repair: fix TCP_QUEUE_SEQ implementation Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 039/170] vxlan: check return value of gro_cells_init() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 040/170] Revert "net: bcmgenet: use RGMII loopback for MAC reset" Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 041/170] net: bcmgenet: keep MAC in reset until PHY is up Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 042/170] bnxt_en: Fix Priority Bytes and Packets counters in ethtool -S Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 043/170] bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 044/170] bnxt_en: Return error if bnxt_alloc_ctx_mem() fails Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 045/170] bnxt_en: Free context memory after disabling PCI in probe error path Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 046/170] bnxt_en: Reset rings if ring reservation fails during open() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 047/170] net: ena: fix incorrect setting of the number of msix vectors Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 048/170] net: ena: fix request of incorrect number of IRQ vectors Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 049/170] net: ena: avoid memory access violation by validating req_id properly Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 050/170] net: ena: fix continuous keep-alive resets Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 051/170] net: ip_gre: Separate ERSPAN newlink / changelink callbacks Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 052/170] net: ip_gre: Accept IFLA_INFO_DATA-less configuration Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 053/170] hsr: use rcu_read_lock() in hsr_get_node_{list/status}() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 054/170] hsr: add restart routine into hsr_get_node_list() Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 055/170] hsr: set .netnsok flag Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 056/170] net/mlx5: DR, Fix postsend actions write length Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 057/170] net/mlx5e: Enhance ICOSQ WQE info fields Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 058/170] net/mlx5e: Fix missing reset of SW metadata in Striding RQ reset Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 059/170] net/mlx5e: Fix ICOSQ recovery flow with Striding RQ Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 060/170] net/mlx5e: Do not recover from a non-fatal syndrome Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 061/170] net/mlx5_core: Set IB capability mask1 to fix ib_srpt connection failure Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 062/170] net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 063/170] net/mlx5e: Fix endianness handling in pedit mask Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 064/170] cgroup-v1: cgroup_pidlist_next should update position index Greg Kroah-Hartman
2020-03-31  8:57 ` [PATCH 5.5 065/170] nfs: add minor version to nfs_server_key for fscache Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 066/170] cpupower: avoid multiple definition with gcc -fno-common Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 067/170] drivers/of/of_mdio.c:fix of_mdiobus_register() Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 068/170] cgroup1: dont call release_agent when it is "" Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 069/170] veth: ignore peer tx_dropped when counting local rx_dropped Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 070/170] drm/amd/display: update soc bb for nv14 Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 071/170] drm/amdgpu: correct ROM_INDEX/DATA offset for VEGA20 Greg Kroah-Hartman
2020-03-31  8:58 ` Greg Kroah-Hartman [this message]
2020-03-31  8:58 ` [PATCH 5.5 073/170] iommu/vt-d: Silence RCU-list debugging warnings Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 074/170] ibmvnic: Do not process device remove during device reset Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 075/170] scsi: ipr: Fix softlockup when rescanning devices in petitboot Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 076/170] mac80211: Do not send mesh HWMP PREQ if HWMP is disabled Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 077/170] dpaa_eth: Remove unnecessary boolean expression in dpaa_get_headroom Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 078/170] sxgbe: Fix off by one in samsung driver strncpy size arg Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 079/170] iommu/vt-d: Fix debugfs register reads Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 080/170] iommu/vt-d: Populate debugfs if IOMMUs are detected Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 081/170] i2c: hix5hd2: add missed clk_disable_unprepare in remove Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 082/170] Input: raydium_i2c_ts - fix error codes in raydium_i2c_boot_trigger() Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 083/170] Input: fix stale timestamp on key autorepeat events Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 084/170] Input: synaptics - enable RMI on HP Envy 13-ad105ng Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 085/170] Input: avoid BIT() macro usage in the serio.h UAPI header Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 086/170] IB/rdmavt: Free kernel completion queue when done Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 087/170] RDMA/core: Fix missing error check on dev_set_name() Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 088/170] RDMA/odp: Fix leaking the tgid for implicit ODP Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 089/170] gpiolib: Fix irq_disable() semantics Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 090/170] RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 091/170] RDMA/mad: Do not crash if the rdma device does not have a umad interface Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 092/170] ceph: check POOL_FLAG_FULL/NEARFULL in addition to OSDMAP_FULL/NEARFULL Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 093/170] ceph: fix memory leak in ceph_cleanup_snapid_map() Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 094/170] KVM: SVM: Issue WBINVD after deactivating an SEV guest Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 095/170] ARM: dts: dra7: Add bus_dma_limit for L3 bus Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 096/170] ARM: dts: omap5: " Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 097/170] x86/ioremap: Fix CONFIG_EFI=n build Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 098/170] perf probe: Fix to delete multiple probe event Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 099/170] perf probe: Do not depend on dwfl_module_addrsym() Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 100/170] rtlwifi: rtl8188ee: Fix regression due to commit d1d1a96bdb44 Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 101/170] tools: Let O= makes handle a relative path with -C option Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 102/170] scripts/dtc: Remove redundant YYLOC global declaration Greg Kroah-Hartman
2020-03-31  9:53   ` Nathan Chancellor
2020-03-31 10:02     ` Greg Kroah-Hartman
2020-03-31 11:45       ` Dirk Müller
2020-03-31 12:09         ` Greg Kroah-Hartman
2020-03-31 19:25           ` Nathan Chancellor
2020-04-02 17:40             ` Greg Kroah-Hartman
2020-03-31 21:35           ` Dirk Müller
2020-03-31  8:58 ` [PATCH 5.5 103/170] drm/prime: use dma length macro when mapping sg Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 104/170] drm/amdgpu: fix scatter-gather mapping with user pages Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 105/170] drm/radeon: " Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 106/170] soc: samsung: chipid: Fix return value on non-Exynos platforms Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 107/170] scsi: sd: Fix optimal I/O size for devices that change reported values Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 108/170] nl80211: fix NL80211_ATTR_CHANNEL_WIDTH attribute type Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 109/170] mac80211: drop data frames without key on encrypted links Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 110/170] mac80211: mark station unauthorized before key removal Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 111/170] mm/swapfile.c: move inode_lock out of claim_swapfile Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 112/170] drivers/base/memory.c: indicate all memory blocks as removable Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 113/170] mm/sparse: fix kernel crash with pfn_section_valid check Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 114/170] mm: fork: fix kernel_stack memcg stats for various stack implementations Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 115/170] gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 116/170] gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 117/170] gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 118/170] bpf: Fix cgroup ref leak in cgroup_bpf_inherit on out-of-memory Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 119/170] RDMA/core: Ensure security pkey modify is not lost Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 120/170] afs: Fix handling of an abort from a service handler Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 121/170] genirq: Fix reference leaks on irq affinity notifiers Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 122/170] xfrm: handle NETDEV_UNREGISTER for xfrm device Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 123/170] vti[6]: fix packet tx through bpf_redirect() in XinY cases Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 124/170] RDMA/mlx5: Fix the number of hwcounters of a dynamic counter Greg Kroah-Hartman
2020-03-31  8:58 ` [PATCH 5.5 125/170] RDMA/mlx5: Fix access to wrong pointer while performing flush due to error Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 126/170] RDMA/mlx5: Block delay drop to unprivileged users Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 127/170] xfrm: fix uctx len check in verify_sec_ctx_len Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 128/170] xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 129/170] xfrm: policy: Fix doulbe free in xfrm_policy_timer Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 130/170] afs: Fix client call Rx-phase signal handling Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 131/170] afs: Fix some tracing details Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 132/170] afs: Fix unpinned address list during probing Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 133/170] ieee80211: fix HE SPR size calculation Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 134/170] mac80211: set IEEE80211_TX_CTRL_PORT_CTRL_PROTO for nl80211 TX Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 135/170] netfilter: flowtable: reload ip{v6}h in nf_flow_tuple_ip{v6} Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 136/170] netfilter: flowtable: populate addr_type mask Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 137/170] netfilter: nft_fwd_netdev: validate family and chain type Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 138/170] netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress Greg Kroah-Hartman
2020-03-31 10:16   ` Pablo Neira Ayuso
2020-03-31 12:12     ` Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 139/170] i2c: nvidia-gpu: Handle timeout correctly in gpu_i2c_check_status() Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 140/170] bpf, x32: Fix bug with JMP32 JSET BPF_X checking upper bits Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 141/170] bpf: Initialize storage pointers to NULL to prevent freeing garbage pointer Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 142/170] bpf/btf: Fix BTF verification of enum members in struct/union Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 143/170] bpf, sockmap: Remove bucket->lock from sock_{hash|map}_free Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 144/170] ARM: dts: sun8i-a83t-tbs-a711: Fix USB OTG mode detection Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 145/170] vti6: Fix memory leak of skb if input policy check fails Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 146/170] r8169: fix PHY driver check on platforms w/o module softdeps Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 147/170] clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 148/170] bpf: Undo incorrect __reg_bound_offset32 handling Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 149/170] USB: serial: option: add support for ASKEY WWHC050 Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 150/170] USB: serial: option: add BroadMobi BM806U Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 151/170] USB: serial: option: add Wistron Neweb D19Q1 Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 152/170] USB: cdc-acm: restore capability check order Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 153/170] USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 154/170] usb: musb: fix crash with highmen PIO and usbmon Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 155/170] media: flexcop-usb: fix endpoint sanity check Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 156/170] media: usbtv: fix control-message timeouts Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 157/170] staging: kpc2000: prevent underflow in cpld_reconfigure() Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 158/170] staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 159/170] staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 160/170] staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 161/170] staging: wfx: add proper "compatible" string Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 162/170] staging: wfx: fix init/remove vs IRQ race Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 163/170] staging: wfx: annotate nested gc_list vs tx queue locking Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 164/170] ahci: Add Intel Comet Lake H RAID PCI ID Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 165/170] libfs: fix infoleak in simple_attr_read() Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 166/170] media: ov519: add missing endpoint sanity checks Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 167/170] media: dib0700: fix rc endpoint lookup Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 168/170] media: stv06xx: add missing descriptor sanity checks Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 169/170] media: xirlink_cit: " Greg Kroah-Hartman
2020-03-31  8:59 ` [PATCH 5.5 170/170] media: v4l2-core: fix a use-after-free bug of sd->devnode Greg Kroah-Hartman

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=20200331085432.015089006@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=inki.dae@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=m.szyprowski@samsung.com \
    --cc=sashal@kernel.org \
    --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 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).