|
@@ -339,9 +339,13 @@ static void process_chn_event(u32 relid)
|
|
|
*/
|
|
|
|
|
|
do {
|
|
|
- hv_begin_read(&channel->inbound);
|
|
|
+ if (read_state)
|
|
|
+ hv_begin_read(&channel->inbound);
|
|
|
channel->onchannel_callback(arg);
|
|
|
- bytes_to_read = hv_end_read(&channel->inbound);
|
|
|
+ if (read_state)
|
|
|
+ bytes_to_read = hv_end_read(&channel->inbound);
|
|
|
+ else
|
|
|
+ bytes_to_read = 0;
|
|
|
} while (read_state && (bytes_to_read != 0));
|
|
|
} else {
|
|
|
pr_err("no channel callback for relid - %u\n", relid);
|