[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<PH7PR21MB3263ECFFD2850220F3F55E29CEBDA@PH7PR21MB3263.namprd21.prod.outlook.com>
Date: Mon, 27 Nov 2023 19:00:21 +0000
From: Long Li <longli@...rosoft.com>
To: Simon Horman <horms@...nel.org>, "longli@...uxonhyperv.com"
<longli@...uxonhyperv.com>
CC: Jason Gunthorpe <jgg@...pe.ca>, Leon Romanovsky <leon@...nel.org>, Ajay
Sharma <sharmaajay@...rosoft.com>, Dexuan Cui <decui@...rosoft.com>, KY
Srinivasan <kys@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com>, Wei
Liu <wei.liu@...nel.org>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, "linux-rdma@...r.kernel.org"
<linux-rdma@...r.kernel.org>, "linux-hyperv@...r.kernel.org"
<linux-hyperv@...r.kernel.org>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
Subject: RE: [Patch v1 2/4] RDMA/mana_ib: create and process EQ events
> > @@ -505,14 +507,24 @@ static void mana_gd_deregiser_irq(struct
> gdma_queue *queue)
> > if (WARN_ON(msix_index >= gc->num_msix_usable))
> > return;
> >
> > + spin_lock_irqsave(&r->lock, flags);
> > +
> > gic = &gc->irq_contexts[msix_index];
> > - gic->handler = NULL;
> > - gic->arg = NULL;
> > + list_for_each_rcu(p, &gic->eq_list) {
> > + eq = list_entry(p, struct gdma_queue, entry);
>
> Hi Long Li,
>
> Sparse complains a bit about this construction:
>
> .../gdma_main.c:513:9: error: incompatible types in comparison expression
> (different address spaces):
> .../gdma_main.c:513:9: struct list_head [noderef] __rcu *
> .../gdma_main.c:513:9: struct list_head *
> .../gdma_main.c:513:9: error: incompatible types in comparison expression
> (different address spaces):
> .../gdma_main.c:513:9: struct list_head [noderef] __rcu *
> .../gdma_main.c:513:9: struct list_head *
>
> Perhaps using list_for_each_entry_rcu() is appropriate here.
Thank you, I will fix this.
Long
Powered by blists - more mailing lists