mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 14:14:37 +00:00
gma500: fix an incorrect NULL check on list iterator
commitbdef417d84
upstream. The bug is here: return crtc; The list iterator value 'crtc' will *always* be set and non-NULL by list_for_each_entry(), so it is incorrect to assume that the iterator value will be NULL if the list is empty or no element is found. To fix the bug, return 'crtc' when found, otherwise return NULL. Cc: stable@vger.kernel.org fixes:89c78134cc
("gma500: Add Poulsbo support") Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com> Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220327052028.2013-1-xiam0nd.tong@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8420201df3
commit
380e0d2bf5
1 changed files with 4 additions and 3 deletions
|
@ -535,14 +535,15 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe,
|
||||||
|
|
||||||
struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
|
struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
|
||||||
{
|
{
|
||||||
struct drm_crtc *crtc = NULL;
|
struct drm_crtc *crtc;
|
||||||
|
|
||||||
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
|
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
|
||||||
struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
|
struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
|
||||||
|
|
||||||
if (gma_crtc->pipe == pipe)
|
if (gma_crtc->pipe == pipe)
|
||||||
break;
|
return crtc;
|
||||||
}
|
}
|
||||||
return crtc;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gma_connector_clones(struct drm_device *dev, int type_mask)
|
int gma_connector_clones(struct drm_device *dev, int type_mask)
|
||||||
|
|
Loading…
Reference in a new issue