RE: [Patch v1 2/4] RDMA/mana_ib: create and process EQ events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux