From 8299d1f057439f94c6a4412e2e5c5082b82a30c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 21 Aug 2021 10:54:34 +0200 Subject: bcm27xx: add kernel 5.10 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted patches, wireless patches and defconfig patches. bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 4B v1.1 4G bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas --- ...cm2708_fb-Disable-FB-if-no-displays-found.patch | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.10/950-0243-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch (limited to 'target/linux/bcm27xx/patches-5.10/950-0243-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch') diff --git a/target/linux/bcm27xx/patches-5.10/950-0243-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch b/target/linux/bcm27xx/patches-5.10/950-0243-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch new file mode 100644 index 0000000000..a6fc3f1360 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0243-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch @@ -0,0 +1,34 @@ +From 927defe02be209d870171b385673c58b6dfa6964 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 5 May 2020 19:45:41 +0100 +Subject: [PATCH] video: bcm2708_fb: Disable FB if no displays found + +If the firmware hasn't detected a display, the driver would assume +one display was available, but because it had failed to retrieve the +display size it would try to allocate a zero-sized buffer. + +Avoid the allocation failure by bailing out early if no display is +found. + +See: https://github.com/raspberrypi/linux/issues/3598 + +Signed-off-by: Phil Elwell +--- + drivers/video/fbdev/bcm2708_fb.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/drivers/video/fbdev/bcm2708_fb.c ++++ b/drivers/video/fbdev/bcm2708_fb.c +@@ -1092,10 +1092,9 @@ static int bcm2708_fb_probe(struct platf + * set one display + */ + if (ret || num_displays == 0) { +- num_displays = 1; + dev_err(&dev->dev, +- "Unable to determine number of FB's. Assuming 1\n"); +- ret = 0; ++ "Unable to determine number of FBs. Disabling driver.\n"); ++ return -ENOENT; + } else { + fbdev->firmware_supports_multifb = 1; + } -- cgit v1.2.3