At Sat, 3 Sep 2005 00:43:53 +0200,
Jiri Slaby wrote:
> 
> Some drivers don't control return values, that can fail.
> 
> Generated in 2.6.13-mm1 kernel version.
> 
> Signed-off-by: Jiri Slaby <[EMAIL PROTECTED]>
> 
>  ali5451/ali5451.c   |    3 ++-
>  cs46xx/cs46xx_lib.c |    6 ++++--
>  via82xx.c           |    8 +++++---
>  3 files changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c
> --- a/sound/pci/ali5451/ali5451.c
> +++ b/sound/pci/ali5451/ali5451.c
> @@ -2067,7 +2067,8 @@ static int ali_resume(snd_card_t *card)
>       if (! im)
>               return 0;
>  
> -     pci_enable_device(chip->pci);
> +     if ((i = pci_enable_device(chip->pci)))
> +             return i;
>  
>       spin_lock_irq(&chip->reg_lock);
>       
> diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
> --- a/sound/pci/cs46xx/cs46xx_lib.c
> +++ b/sound/pci/cs46xx/cs46xx_lib.c
> @@ -3722,9 +3722,11 @@ static int snd_cs46xx_suspend(snd_card_t
>  static int snd_cs46xx_resume(snd_card_t *card)
>  {
>       cs46xx_t *chip = card->pm_private_data;
> -     int amp_saved;
> +     int amp_saved, err;
> +
> +     if ((err = pci_enable_device(chip->pci)))
> +             return err;
>  
> -     pci_enable_device(chip->pci);
>       pci_set_master(chip->pci);
>       amp_saved = chip->amplifier;
>       chip->amplifier = 0;
> diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
> --- a/sound/pci/via82xx.c
> +++ b/sound/pci/via82xx.c
> @@ -1977,7 +1977,8 @@ static int snd_via82xx_suspend(snd_card_
>               chip->capture_src_saved[1] = inb(chip->port + 
> VIA_REG_CAPTURE_CHANNEL + 0x10);
>       }
>  
> -     pci_set_power_state(chip->pci, 3);
> +     if ((i = pci_set_power_state(chip->pci, 3)))
> +             return i;
>       pci_disable_device(chip->pci);
>       return 0;
>  }
> @@ -1987,8 +1988,9 @@ static int snd_via82xx_resume(snd_card_t
>       via82xx_t *chip = card->pm_private_data;
>       int i;
>  
> -     pci_enable_device(chip->pci);
> -     pci_set_power_state(chip->pci, 0);
> +     if ((i = pci_enable_device(chip->pci)) ||
> +                     (i = pci_set_power_state(chip->pci, 0)))
> +             return i;
>  
>       snd_via82xx_chip_init(chip);

Wel, these changes don't work as expected in the end because pci
handler doesn't handle the error path in suspend/resume...


Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to