summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-02-12 18:17:06 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-02-23 07:37:55 -0800
commit1393ad25685ec7f91137160dc482e7bb00cb27d2 (patch)
tree1e1ac20bd8342df76bc26e66ec660e1381929d85 /sound
parent473e685ee12ccd50d626b58c455dde6bbb51df61 (diff)
ALSA: hda - use WARN_ON_ONCE() for zero-division detection
commit d6d8bf549393484e906913f02fa3c9518a2819b6 upstream. Replace the zero-division warning message with WARN_ON_ONCE() per the advice by Linus. This shouldn't happen, but if it happens, it's possible that the bug happens often due to buggy IRQs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_intel.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 95c9b9717ba8..fec8724b9125 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1858,12 +1858,9 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
if (!bdl_pos_adj[chip->dev_index])
return 1; /* no delayed ack */
- if (azx_dev->period_bytes == 0) {
- printk(KERN_WARNING
- "hda-intel: Divide by zero was avoided "
- "in azx_dev->period_bytes.\n");
- return 0;
- }
+ if (WARN_ONCE(!azx_dev->period_bytes,
+ "hda-intel: zero azx_dev->period_bytes"))
+ return 0; /* this shouldn't happen! */
if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
return 0; /* NG - it's below the period boundary */
return 1; /* OK, it's fine */