diff --git a/[refs] b/[refs] index 0d9d987926d4..3633ee89e5c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 68aee07f9bad2c830a898cf6d6bfc11ea24efc40 +refs/heads/master: 98ba4031ab2adc8b394295e68aa4c8fe9d5060db diff --git a/trunk/kernel/relay.c b/trunk/kernel/relay.c index 8d13a7855c08..32b0befdcb6a 100644 --- a/trunk/kernel/relay.c +++ b/trunk/kernel/relay.c @@ -400,7 +400,7 @@ void relay_reset(struct rchan *chan) } mutex_lock(&relay_channels_mutex); - for_each_online_cpu(i) + for_each_possible_cpu(i) if (chan->buf[i]) __relay_reset(chan->buf[i], 0); mutex_unlock(&relay_channels_mutex); @@ -611,10 +611,9 @@ struct rchan *relay_open(const char *base_filename, return chan; free_bufs: - for_each_online_cpu(i) { - if (!chan->buf[i]) - break; - relay_close_buf(chan->buf[i]); + for_each_possible_cpu(i) { + if (chan->buf[i]) + relay_close_buf(chan->buf[i]); } kref_put(&chan->kref, relay_destroy_channel);