Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932874AbbESPWf (ORCPT ); Tue, 19 May 2015 11:22:35 -0400 Received: from senator.holtmann.net ([87.106.208.187]:45285 "EHLO mail.holtmann.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932354AbbESPW2 convert rfc822-to-8bit (ORCPT ); Tue, 19 May 2015 11:22:28 -0400 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\)) Subject: Re: [RESEND][PATCH] Bluetooth: Make request workqueue freezable From: Marcel Holtmann In-Reply-To: Date: Tue, 19 May 2015 17:22:26 +0200 Cc: Takashi Iwai , Laura Abbott , 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" , linux-usb@vger.kernel.org Content-Transfer-Encoding: 8BIT Message-Id: References: To: Alan Stern X-Mailer: Apple Mail (2.2098) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2254 Lines: 49 Hi Alan, >>>> I am not convinced. Now we are hacking the Bluetooth core layer >>>> (which has nothing to do with the drivers suspend/resume or >>>> probe) to do something different so that we do not see this >>>> warning. >>>> >>>> I can not do anything about the platform in question choosing a >>>> unplug/replug for suspend/resume instead of having a proper USB >>>> suspend and resume handling. That is pretty much out of our >>>> control. > > Actually one can do something about this. I mean, one _can_ implement > proper USB suspend and resume handling in the Bluetooth driver. At > this point the details aren't clear to me, but perhaps if the driver in > question had a reset_resume callback then it might work better. the btusb.ko driver has suspend/resume support. Are you saying we also need reset_resume support? >>>> I would rather have the USB subsystem delay the probe() >>>> callback if we tell it to. > > This is possible. I am not sure it would be the right thing to do, > though. What happens if the probe routine gets called early on during > the boot-up procedure, before userspace is up and running? The same > thing should happen here. For modules this will be hard. Since you need userspace before being able to load the modules. If built-in code, then in theory this might be possible. Depending on the order of the init sections. >>>> 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. Then I really have no idea on how to solve this unless we silence the warning from request_firmware. From a driver perspective we go back trough probe(). So the driver has to treat this as a new device. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/