Messages in this thread | | | Date | Fri, 9 Jan 2009 13:54:23 -0800 | From | Greg KH <> | Subject | Re: [PATCH post 2.6.28] firewire: core: fix sleep in atomic context due to driver core change |
| |
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@s5r6.in-berlin.de> 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
| |