Re: [PATCH] 6700/6702PXH quirk

From: Andrew Morton
Date: Fri Aug 05 2005 - 17:57:29 EST


Kristen Accardi <kristen.c.accardi@xxxxxxxxx> wrote:
>
> On Fri, 2005-08-05 at 15:26 -0700, Andrew Morton wrote:
> > Kristen Accardi <kristen.c.accardi@xxxxxxxxx> wrote:
>
> > > + if (!quirk)
> > > + return -ENOMEM;
> > > +
> > > + INIT_LIST_HEAD(&quirk->list);
> > > + quirk->dev = dev;
> > > + list_add(&quirk->list, &msi_quirk_list);
> > > + return 0;
> > > +}
> >
> > Does the list not need any locking?
>
> Actually, I'm glad you asked that question because I was wondering that
> myself. The devices are added to the list at boot time, and after that
> time, the list will never change. Does PCI enumeration happen on all
> processors? I thought maybe it only happened on one. In that case we
> don't need a lock I don't think.
>

do_basic_setup() is called after SMP is up and running. do_basic_setup()
calls driver_init() and most of the initcalls. Plus there's kernel
preemption.

So yup, I think you need locking..
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/