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

Victor Lowther victor.lowther at gmail.com
Sat Dec 5 20:50:44 PST 2009


On Thu, 2009-11-19 at 20:26 +0100, Christian Krause wrote:
> 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

Ouch -- I must have been asleep at the wheel when adding this.  I will
fix it up and apply it to the current code.

> - 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



More information about the Pm-utils mailing list