[<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