diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-10-29 15:15:20 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-10-29 15:15:20 +0100 |
commit | 75415df8ffbac2ace9463ceffb3f21299af2548a (patch) | |
tree | 9e9b552808ff8bede28da00a86167b2a7f99b41d /sound/drivers/pcsp | |
parent | a8d09e3a6dfc44fd2246f3c57d2cd00e1a56e2bd (diff) | |
download | blackbird-op-linux-75415df8ffbac2ace9463ceffb3f21299af2548a.tar.gz blackbird-op-linux-75415df8ffbac2ace9463ceffb3f21299af2548a.zip |
ALSA: pcsp: Fix initialization with nopcm=1
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>
Diffstat (limited to 'sound/drivers/pcsp')
-rw-r--r-- | sound/drivers/pcsp/pcsp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c index 1c19cd7ad26e..f664bae3b9b0 100644 --- a/sound/drivers/pcsp/pcsp.c +++ b/sound/drivers/pcsp/pcsp.c @@ -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); |