|
@@ -1893,6 +1893,12 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
|
|
|
|
|
|
if (!bdl_pos_adj[chip->dev_index])
|
|
if (!bdl_pos_adj[chip->dev_index])
|
|
return 1; /* no delayed ack */
|
|
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 (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
|
|
if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
|
|
return 0; /* NG - it's below the period boundary */
|
|
return 0; /* NG - it's below the period boundary */
|
|
return 1; /* OK, it's fine */
|
|
return 1; /* OK, it's fine */
|