|
@@ -193,6 +193,7 @@ static void *_qp_stats_seq_start(struct seq_file *s, loff_t *pos)
|
|
struct qib_qp_iter *iter;
|
|
struct qib_qp_iter *iter;
|
|
loff_t n = *pos;
|
|
loff_t n = *pos;
|
|
|
|
|
|
|
|
+ rcu_read_lock();
|
|
iter = qib_qp_iter_init(s->private);
|
|
iter = qib_qp_iter_init(s->private);
|
|
if (!iter)
|
|
if (!iter)
|
|
return NULL;
|
|
return NULL;
|
|
@@ -224,7 +225,7 @@ static void *_qp_stats_seq_next(struct seq_file *s, void *iter_ptr,
|
|
|
|
|
|
static void _qp_stats_seq_stop(struct seq_file *s, void *iter_ptr)
|
|
static void _qp_stats_seq_stop(struct seq_file *s, void *iter_ptr)
|
|
{
|
|
{
|
|
- /* nothing for now */
|
|
|
|
|
|
+ rcu_read_unlock();
|
|
}
|
|
}
|
|
|
|
|
|
static int _qp_stats_seq_show(struct seq_file *s, void *iter_ptr)
|
|
static int _qp_stats_seq_show(struct seq_file *s, void *iter_ptr)
|