Return-Path: Date: Tue, 19 May 2015 19:13:14 +0200 Message-ID: From: Takashi Iwai To: Alan Stern Cc: Laura Abbott , Marcel Holtmann , Laura Abbott , "Gustavo F. Padovan" , Johan Hedberg , "David S. Miller" , "bluez mailin list (linux-bluetooth@vger.kernel.org)" , netdev , Linux Kernel Mailing List , Ming Lei , "Rafael J. Wysocki" , Subject: Re: [RESEND][PATCH] Bluetooth: Make request workqueue freezable In-Reply-To: References: MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII List-ID: At Tue, 19 May 2015 10:26:46 -0400 (EDT), Alan Stern wrote: > > > > > Of just have request_firmware() > > > > actually sleep until userspace is ready. Seriously, why is > > > > request_firmware not just sleeping for us. > > It won't work. The request_firmware call is part of the probe > sequence, which in turn is part of the resume sequence. Userspace > doesn't start running again until the resume sequence is finished. If > request_firmware waited for userspace, it would hang. Note that the recent request_firmware() doesn't need the user-space invocation (unless the fallback is explicitly enabled) but loads the file directly. And, request_firmware() for the cached data is valid to be called in the resume path. Takashi