[Pm-utils] [PATCH] fix handling of command line parameters and function calls

Christian Krause chkr at plauener.de
Thu Nov 19 11:26:28 PST 2009


Hi,

during some debugging I've probably found some bugs related to
save/restore the pci settings. Most likely they are just typos, but it
looks like that they may result wrong (or no) function calls.

Starting from hal, the correct command line parameter to for saving the
pci config seems to be:
"--quirk-save-pci".

Problem 1:
In pm/sleep.d/98smart-kernel-video in the function
"remove_all_video_quirks()" a parameter named "--quirk-pci-save" is
referenced for deletion. I assume this should be "--quirk-save-pci".

Problem 2:
The file pm/sleep.d/99video also assumes the wrong quirk command line
parameter ("--quirk-pci-save"). Additionally in this file is also an
internal inconsistency:
If the pci quirk should be applied, the function "pci_save" should be
called:

"quirk "${QUIRK_PCI_SAVE}" &&            pci_save"
but the correct name of this function as defined in the same file is
"save_pci()"

The same applies then for "restore_pci".

Please find a patch which solves all of these problems below. Please
note, that these issues did not cause any trouble for me so far, but
using the wrong command line parameters and function names seems to be
really wrong and may lead to problems later with respect to bug fixing
etc.

It would be great if anybody could look at my patch and consider
applying it. ;-) Thanks!


Best regards,
Christian


- fix wrong function calls to pci_restore and pci_save which did
not match the actual defined functions (restore_pci and save_pci)
- use the correct quirk parameter in "remove_paramters"
(use --quirk-save-pci instead of --quirk-pci-save)
---
 pm/sleep.d/98smart-kernel-video |    2 +-
 pm/sleep.d/99video              |    6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pm/sleep.d/98smart-kernel-video b/pm/sleep.d/98smart-kernel-video
index 11b5490..deba3a7 100755
--- a/pm/sleep.d/98smart-kernel-video
+++ b/pm/sleep.d/98smart-kernel-video
@@ -23,7 +23,7 @@ remove_all_video_quirks()
 	--quirk-reset-brightness \
 	--quirk-radeon-off \
 	--quirk-no-fb \
-	--quirk-pci-save
+	--quirk-save-pci
 }
 
 # Test to see if the kernel has a video driver that is smart enough to
diff --git a/pm/sleep.d/99video b/pm/sleep.d/99video
index 29f2f2c..f2768ab 100755
--- a/pm/sleep.d/99video
+++ b/pm/sleep.d/99video
@@ -27,7 +27,7 @@ for opt in $PM_CMDLINE; do
 		vbestate-restore)  QUIRK_VBESTATE_RESTORE="true" ;;
 		vga-mode3) 	   QUIRK_VGA_MODE_3="true" ;;
 		no-fb) 		   QUIRK_NOFB="true" ;;
-		pci-save) 	   QUIRK_PCI_SAVE="true" ;;
+		save-pci) 	   QUIRK_SAVE_PCI="true" ;;
 	        no-chvt)           QUIRK_NO_CHVT="true" ;;
 		none) 		   QUIRK_NONE="true" ;;
 		*) continue ;;
@@ -165,7 +165,7 @@ suspend_video()
 	quirk "${QUIRK_VBESTATE_RESTORE}" && 	vbe_savestate
 	quirk "${QUIRK_VBEMODE_RESTORE}" && 	vbe_savemode
 	quirk "${QUIRK_RADEON_OFF}" && 		radeon_off
-	quirk "${QUIRK_PCI_SAVE}" && 		pci_save
+	quirk "${QUIRK_SAVE_PCI}" && 		save_pci
 	quirk "${QUIRK_VGA_MODE_3}" && 		vbe vbemode set 3
 	quirk "${QUIRK_DPMS_SUSPEND}" && 	vbe dpms suspend
 	save_fbcon
@@ -173,7 +173,7 @@ suspend_video()
 resume_video()
 {
 	# We might need to do one or many of these quirks
-	quirk "${QUIRK_PCI_SAVE}" && 		pci_restore
+	quirk "${QUIRK_SAVE_PCI}" && 		restore_pci
 	quirk "${QUIRK_VBE_POST}" && 		vbe_post
 	quirk "${QUIRK_VBESTATE_RESTORE}" && 	vbe_restorestate
 	quirk "${QUIRK_VBEMODE_RESTORE}" && 	vbe_restoremode
-- 
1.6.2.5



More information about the Pm-utils mailing list