ALSA: pcsp: Fix initialization with nopcm=1
authorTakashi Iwai <tiwai@suse.de>
Tue, 29 Oct 2013 14:15:20 +0000 (15:15 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 29 Oct 2013 14:15:20 +0000 (15:15 +0100)
When nopcm=1 is set, some initializations based on hrtimer resolution
might be bogus because the driver checks the resolution only when
nopcm=0.  Simply get the resolution always at first for fixing the
bug.

Spotted by coverity CID 139740.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/drivers/pcsp/pcsp.c

index 1c19cd7..f664bae 100644 (file)
@@ -46,8 +46,9 @@ static int snd_pcsp_create(struct snd_card *card)
        int err;
        int div, min_div, order;
 
+       hrtimer_get_res(CLOCK_MONOTONIC, &tp);
+
        if (!nopcm) {
-               hrtimer_get_res(CLOCK_MONOTONIC, &tp);
                if (tp.tv_sec || tp.tv_nsec > PCSP_MAX_PERIOD_NS) {
                        printk(KERN_ERR "PCSP: Timer resolution is not sufficient "
                                "(%linS)\n", tp.tv_nsec);