[autotest-client-tests][PATCH 2/2] UBUNTU: SAUCE: ubuntu_boot: add exception for staging modules on RPI

Po-Hsu Lin po-hsu.lin at canonical.com
Fri May 20 09:58:15 UTC 2022


BugLink: https://bugs.launchpad.net/bugs/1973579

Add exceptions to ignore known staging module we use on RPI kernel.
This can speed up the boot testing process and make it more robust.

Signed-off-by: Po-Hsu Lin <po-hsu.lin at canonical.com>
---
 ubuntu_boot/kernel_taint_test.py | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/ubuntu_boot/kernel_taint_test.py b/ubuntu_boot/kernel_taint_test.py
index fffb5aff..93cccdd9 100755
--- a/ubuntu_boot/kernel_taint_test.py
+++ b/ubuntu_boot/kernel_taint_test.py
@@ -75,7 +75,8 @@ def process_GPL_incompatible_modules(modules):
 
 def process_known_issues(issue, modules):
     mod_list = []
-    issue_flags = {"externally-built ('out-of-tree') module was loaded": "O",
+    issue_flags = {"staging driver was loaded":                          "C",
+                   "externally-built ('out-of-tree') module was loaded": "O",
                    "unsigned module was loaded":                         "E"}
     modules = remove_ignored_modules(modules)
     for mod in modules:
@@ -108,6 +109,18 @@ def remove_ignored_modules(modules):
                              'mlxfw',
                              'mdev',
                              'mlx_compat']}
+    rpi_modules = {'jammy': ['bcm2835_codec',
+                             'bcm2835_isp',
+                             'bcm2835_v4l2',
+                             'bcm2835_mmal_vchiq',
+                             'snd_bcm2835',
+                             'vc_sm_cma'],
+                   'focal': ['bcm2835_codec',
+                             'bcm2835_isp',
+                             'bcm2835_v4l2',
+                             'bcm2835_mmal_vchiq',
+                             'snd_bcm2835',
+                             'vc_sm_cma']}
     try:
         series = platform.dist()[2]
     except AttributeError:
@@ -126,6 +139,13 @@ def remove_ignored_modules(modules):
                 modules.remove(ignore_mod)
             except ValueError:
                 pass
+    elif series in ['focal', 'jammy'] and 'raspi' in platform.release():
+        for ignore_mod in rpi_modules[series]:
+            try:
+                print('Exception made in test script: {}'.format(ignore_mod))
+                modules.remove(ignore_mod)
+            except ValueError:
+                pass
     return(modules)
 
 
@@ -173,6 +193,16 @@ def main():
                 else:
                     print("*   Proprietary modules found, "
                           "but they are expected and OK")
+            elif i == 10:  # List staging modules
+                staging_modules = process_known_issues(taint_meanings[i], modules)
+                if len(staging_modules) > 0:
+                    print("*   Staging driver in use:")
+                    for mod in staging_modules:
+                        print("     %s" % mod)
+                    count += 1
+                else:
+                    print("*   Staging modules found, "
+                          "but they are expected and OK")
             elif i == 11:
                 print("*   Firmware workarounds are expected and OK")
             elif i == 12:  # List out-of-tree modules
-- 
2.25.1




More information about the kernel-team mailing list