aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-02-12 11:48:47 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-02-12 11:48:47 -0500
commit0e9695d9a45e9ea643f2f4e7f2859876940c58ae (patch)
tree58ac89957c99634894681459f49b8974449c02c7
parent280c96b16a732cec207ccef7f70cb9ec727d3fd9 (diff)
parentfed08d036f2aabd8d0c684439de37f8ebec2bbc2 (diff)
Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda-intel: Avoid divide by zero crash
-rw-r--r--sound/pci/hda/hda_intel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index b8faa6dc5abe..e767c3f395ab 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1893,6 +1893,12 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
1893 1893
1894 if (!bdl_pos_adj[chip->dev_index]) 1894 if (!bdl_pos_adj[chip->dev_index])
1895 return 1; /* no delayed ack */ 1895 return 1; /* no delayed ack */
1896 if (azx_dev->period_bytes == 0) {
1897 printk(KERN_WARNING
1898 "hda-intel: Divide by zero was avoided "
1899 "in azx_dev->period_bytes.\n");
1900 return 0;
1901 }
1896 if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2) 1902 if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
1897 return 0; /* NG - it's below the period boundary */ 1903 return 0; /* NG - it's below the period boundary */
1898 return 1; /* OK, it's fine */ 1904 return 1; /* OK, it's fine */