|
Lines 144-150
Link Here
|
| 144 |
err = snd_pcm_sw_params(substream, ¶ms); |
144 |
err = snd_pcm_sw_params(substream, ¶ms); |
| 145 |
if (err < 0) |
145 |
if (err < 0) |
| 146 |
return err; |
146 |
return err; |
| 147 |
if (put_user(boundary, &src->boundary)) |
147 |
if (boundary && put_user(boundary, &src->boundary)) |
| 148 |
return -EFAULT; |
148 |
return -EFAULT; |
| 149 |
return err; |
149 |
return err; |
| 150 |
} |
150 |
} |
|
Lines 252-259
Link Here
|
| 252 |
goto error; |
252 |
goto error; |
| 253 |
} |
253 |
} |
| 254 |
|
254 |
|
| 255 |
if (! refine) |
255 |
if (! refine) { |
| 256 |
runtime->boundary = recalculate_boundary(runtime); |
256 |
unsigned int new_boundary = recalculate_boundary(runtime); |
|
|
257 |
if (new_boundary) |
| 258 |
runtime->boundary = new_boundary; |
| 259 |
} |
| 257 |
error: |
260 |
error: |
| 258 |
kfree(data); |
261 |
kfree(data); |
| 259 |
return err; |
262 |
return err; |
|
Lines 408-413
Link Here
|
| 408 |
status = runtime->status; |
411 |
status = runtime->status; |
| 409 |
control = runtime->control; |
412 |
control = runtime->control; |
| 410 |
boundary = recalculate_boundary(runtime); |
413 |
boundary = recalculate_boundary(runtime); |
|
|
414 |
if (! boundary) |
| 415 |
boundary = 0x7fffffff; |
| 411 |
snd_pcm_stream_lock_irq(substream); |
416 |
snd_pcm_stream_lock_irq(substream); |
| 412 |
/* FIXME: we should consider the boundary for the sync from app */ |
417 |
/* FIXME: we should consider the boundary for the sync from app */ |
| 413 |
if (!(sflags & SNDRV_PCM_SYNC_PTR_APPL)) |
418 |
if (!(sflags & SNDRV_PCM_SYNC_PTR_APPL)) |