Re: [PATCH post 2.6.28] firewire: core: fix sleep in atomiccontext due to driver core change

From: Greg KH
Date: Fri Jan 09 2009 - 16:55:40 EST


On Fri, Jan 09, 2009 at 09:17:18PM +0000, Alan Cox wrote:
> On Fri, 9 Jan 2009 20:49:37 +0100 (CET)
> Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:
>
> > Due to commit 2831fe6f9cc4e16c103504ee09a47a084297c0f3, "driver core:
> > create a private portion of struct device", device_initialize() can no
> > longer be called from atomic contexts.
>
> I don't see why this is neccessary or appropriate - the original commit
> needs to be pulled and the private area allocation rethought.

Ugh, I think you're right. I'll revert this (and all of the patches in
the series that were needed to get this working properly), and redo the
patch set, first making device_initialize() able to fail, and auditing
all callers to make sure it's not being called in atomic context.

At first glance, I think it's only firewire that is doing this in atomic
context, so Stefan, I wouldn't mind seeing your patch go in as-is just
to make things simpler overall.

I'll go make up the patchset and send them to Linus...

thanks,

greg k-h
--
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/