diff options
author | Par-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com> | 2011-08-31 20:03:17 +0530 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 16:05:54 +0200 |
commit | 40ce868021c2a13c772b46223b85af0b774d11da (patch) | |
tree | 8c290747883ecece14522edf9f2acb1abe2e440f /drivers/staging/cg2900 | |
parent | 93ab74d519533a750aa26246d795cfda0ca7a5fc (diff) |
cg2900: Do not send RX data to wrong user
This patch corrects an issue where received data was sent to
the wrong user depending on which user first opened the channel.
ST-Ericsson Linux next: Not tested, ER 282957
ST-Ericsson ID: 333690
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I14c0bb64e2bd2c0d175da0407af3da179920d015
Signed-off-by: Par-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com>
Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29927
Diffstat (limited to 'drivers/staging/cg2900')
-rw-r--r-- | drivers/staging/cg2900/mfd/cg2900_chip.c | 9 |
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; } |