summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/cg2900/mfd/cg2900_chip.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/staging/cg2900/mfd/cg2900_chip.c b/drivers/staging/cg2900/mfd/cg2900_chip.c
index fa243dcab15..9807b665efb 100644
--- a/drivers/staging/cg2900/mfd/cg2900_chip.c
+++ b/drivers/staging/cg2900/mfd/cg2900_chip.c
@@ -2075,10 +2075,15 @@ static void data_from_chip(struct cg2900_chip_dev *dev,
goto user_found;
}
- /* Search through the list of all open channels to find the user */
+ /*
+ * Search through the list of all open channels to find the user.
+ * We skip the audio channels since they have already been checked
+ * earlier in this function.
+ */
list_for_each(cursor, &info->open_channels) {
tmp = list_entry(cursor, struct cg2900_channel_item, list);
- if (tmp->user->h4_channel == h4_channel) {
+ if (tmp->user->h4_channel == h4_channel &&
+ !tmp->user->is_audio) {
user = tmp->user;
goto user_found;
}