diff options
-rw-r--r-- | sound/pci/pcxhr/pcxhr_core.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c index c4e415d07380..846afbd30682 100644 --- a/sound/pci/pcxhr/pcxhr_core.c +++ b/sound/pci/pcxhr/pcxhr_core.c | |||
@@ -1005,30 +1005,37 @@ void pcxhr_msg_tasklet(unsigned long arg) | |||
1005 | int nb_stream = (prmh->stat[i] >> (2*FIELD_SIZE)) & MASK_FIRST_FIELD; | 1005 | int nb_stream = (prmh->stat[i] >> (2*FIELD_SIZE)) & MASK_FIRST_FIELD; |
1006 | int pipe = prmh->stat[i] & MASK_FIRST_FIELD; | 1006 | int pipe = prmh->stat[i] & MASK_FIRST_FIELD; |
1007 | int is_capture = prmh->stat[i] & 0x400000; | 1007 | int is_capture = prmh->stat[i] & 0x400000; |
1008 | u32 err; | 1008 | u32 err2; |
1009 | 1009 | ||
1010 | if (prmh->stat[i] & 0x800000) { /* if BIT_END */ | 1010 | if (prmh->stat[i] & 0x800000) { /* if BIT_END */ |
1011 | snd_printdd("TASKLET : End%sPipe %d\n", | 1011 | snd_printdd("TASKLET : End%sPipe %d\n", |
1012 | is_capture ? "Record" : "Play", pipe); | 1012 | is_capture ? "Record" : "Play", pipe); |
1013 | } | 1013 | } |
1014 | i++; | 1014 | i++; |
1015 | err = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; | 1015 | err2 = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; |
1016 | if (err) | 1016 | if (err2) |
1017 | pcxhr_handle_async_err(mgr, err, PCXHR_ERR_PIPE, | 1017 | pcxhr_handle_async_err(mgr, err2, |
1018 | PCXHR_ERR_PIPE, | ||
1018 | pipe, is_capture); | 1019 | pipe, is_capture); |
1019 | i += 2; | 1020 | i += 2; |
1020 | for (j = 0; j < nb_stream; j++) { | 1021 | for (j = 0; j < nb_stream; j++) { |
1021 | err = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; | 1022 | err2 = prmh->stat[i] ? |
1022 | if (err) | 1023 | prmh->stat[i] : prmh->stat[i+1]; |
1023 | pcxhr_handle_async_err(mgr, err, PCXHR_ERR_STREAM, | 1024 | if (err2) |
1024 | pipe, is_capture); | 1025 | pcxhr_handle_async_err(mgr, err2, |
1026 | PCXHR_ERR_STREAM, | ||
1027 | pipe, | ||
1028 | is_capture); | ||
1025 | i += 2; | 1029 | i += 2; |
1026 | } | 1030 | } |
1027 | for (j = 0; j < nb_audio; j++) { | 1031 | for (j = 0; j < nb_audio; j++) { |
1028 | err = prmh->stat[i] ? prmh->stat[i] : prmh->stat[i+1]; | 1032 | err2 = prmh->stat[i] ? |
1029 | if (err) | 1033 | prmh->stat[i] : prmh->stat[i+1]; |
1030 | pcxhr_handle_async_err(mgr, err, PCXHR_ERR_AUDIO, | 1034 | if (err2) |
1031 | pipe, is_capture); | 1035 | pcxhr_handle_async_err(mgr, err2, |
1036 | PCXHR_ERR_AUDIO, | ||
1037 | pipe, | ||
1038 | is_capture); | ||
1032 | i += 2; | 1039 | i += 2; |
1033 | } | 1040 | } |
1034 | } | 1041 | } |