Эх сурвалжийг харах

Merge tag 'staging-3.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging driver fixes from Greg KH:
 "Here are 3 tiny staging driver fixes for 3.17-rc5.

  Two are fixes for the imx-drm driver, resolving issues that have been
  reported.  The other is a memory leak fix for the Android sync driver,
  due to changes that went into 3.17-rc1.

  All have been in linux-next for a while"

* tag 'staging-3.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  android: fix reference leak in sync_fence_create
  imx-drm: imx-ldb: fix NULL pointer in imx_ldb_unbind()
  imx-drm: ipuv3-plane: fix ipu_plane_dpms()
Linus Torvalds 11 жил өмнө
parent
commit
a6988b3343

+ 0 - 1
drivers/staging/android/sync.c

@@ -199,7 +199,6 @@ struct sync_fence *sync_fence_create(const char *name, struct sync_pt *pt)
 	fence->num_fences = 1;
 	atomic_set(&fence->status, 1);
 
-	fence_get(&pt->base);
 	fence->cbs[0].sync_pt = &pt->base;
 	fence->cbs[0].fence = fence;
 	if (fence_add_callback(&pt->base, &fence->cbs[0].cb,

+ 3 - 0
drivers/staging/imx-drm/imx-ldb.c

@@ -574,6 +574,9 @@ static void imx_ldb_unbind(struct device *dev, struct device *master,
 	for (i = 0; i < 2; i++) {
 		struct imx_ldb_channel *channel = &imx_ldb->channel[i];
 
+		if (!channel->connector.funcs)
+			continue;
+
 		channel->connector.funcs->destroy(&channel->connector);
 		channel->encoder.funcs->destroy(&channel->encoder);
 	}

+ 2 - 1
drivers/staging/imx-drm/ipuv3-plane.c

@@ -281,7 +281,8 @@ static void ipu_plane_dpms(struct ipu_plane *ipu_plane, int mode)
 
 		ipu_idmac_put(ipu_plane->ipu_ch);
 		ipu_dmfc_put(ipu_plane->dmfc);
-		ipu_dp_put(ipu_plane->dp);
+		if (ipu_plane->dp)
+			ipu_dp_put(ipu_plane->dp);
 	}
 }