diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-12 11:48:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-12 11:48:47 -0500 |
commit | 0e9695d9a45e9ea643f2f4e7f2859876940c58ae (patch) | |
tree | 58ac89957c99634894681459f49b8974449c02c7 /sound | |
parent | 280c96b16a732cec207ccef7f70cb9ec727d3fd9 (diff) | |
parent | fed08d036f2aabd8d0c684439de37f8ebec2bbc2 (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
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 6 |
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 */ |