[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#570678: initramfs-tools: fix upstream's git commit a2127d33 to avoid firmware copy error



Package: initramfs-tools
Severity: normal


[Disclaimer: I do not report against a specific version because this
bugreport is against git tree of initramfs-tools. The according code
shouldn't enter a release because it might break several systems,
though I'd like to see a new initramfs-tools version soon - that's
why I'm reporting here.]

The problem is located in this patch:

% git show a2127d33
commit a2127d339d78d2ea2779b24d0f42f6203777df72
Author: maximilian attems <maks@debian.org>
Date:   Wed Oct 28 23:20:02 2009 +0100

    hook-funcitions: Only warn about missing firmware if /proc/modules exists

    makes no sense to look up if there are no modules.
    seen on a piuparts installation of linux-2.6

    Signed-off-by: maximilian attems <maks@debian.org>

diff --git a/hook-functions b/hook-functions
index 387fe60..9e3eef2 100644
--- a/hook-functions
+++ b/hook-functions
@@ -71,7 +71,8 @@ manual_add_modules()
                        # Only print warning for missing fw of loaded module
                        # or forced loaded module
                        if [ ! -e "/lib/firmware/${firmware}" ] \
-                   && [ ! -e "/lib/firmware/${version}/${firmware}" ]; then
+                 && [ ! -e "/lib/firmware/${version}/${firmware}" ] \
+                 && [ -e /proc/modules ]; then
                                if grep -q "^$(basename "${mam_x}" .ko)[[:space:]]" \
                                /proc/modules \
                                || grep -q "^$(basename "${mam_x}" .ko)" \


This fails for systems without /proc/modules because the check has
the wrong logic order. Attached patch addresses this issue.

regards,
-mika-
>From 184cd084cb75ab3cfcd451f33597c272b127e1f9 Mon Sep 17 00:00:00 2001
From: Michael Prokop <mika@debian.org>
Date: Sat, 20 Feb 2010 17:01:45 +0100
Subject: [PATCH 1/2] Fix upstream's git commit a2127d33 to avoid firmware copy error.

---
 hook-functions |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/hook-functions b/hook-functions
index 9d59dc1..e4a57c5 100644
--- a/hook-functions
+++ b/hook-functions
@@ -71,8 +71,13 @@ manual_add_modules()
 			# Only print warning for missing fw of loaded module
 			# or forced loaded module
 			if [ ! -e "/lib/firmware/${firmware}" ] \
-			&& [ ! -e "/lib/firmware/${version}/${firmware}" ] \
-			&& [ -e /proc/modules ]; then
+                        && [ ! -e "/lib/firmware/${version}/${firmware}" ] ; then
+                                if [ ! -e /proc/modules ] ; then
+                                  # echo "W: firmware $firmware referenced in ${mam_x}.ko but missing"
+                                  # Only warn about missing firmware if /proc/modules exists
+                                  continue
+                                fi
+
 				if grep -q "^$(basename "${mam_x}" .ko)[[:space:]]" \
 				/proc/modules \
 				|| grep -q "^$(basename "${mam_x}" .ko)" \
-- 
1.7.0


Reply to: