From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 21 Jun 2018 14:52:07 +0200 From: Sebastian Andrzej Siewior To: Marcel Holtmann , Alan Stern Cc: Greg Kroah-Hartman , "open list:BLUETOOTH DRIVERS" , linux-usb@vger.kernel.org, Thomas Gleixner , Johan Hedberg Subject: Re: [PATCH] Bluetooth: btusb: use irqsave() in URB's complete callback Message-ID: <20180621125207.7xtz2jpnp2vdvaau@linutronix.de> References: <20180619215657.13745-1-bigeasy@linutronix.de> <66D1D85C-A671-45CF-BBB4-974E3063B9F3@holtmann.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 In-Reply-To: <66D1D85C-A671-45CF-BBB4-974E3063B9F3@holtmann.org> List-ID: On 2018-06-21 14:43:41 [+0200], Marcel Holtmann wrote: > Hi Sebastian, Hi Marcel, > > The USB completion callback does not disable interrupts while acquiring > > the ->lock. We want to remove the local_irq_disable() invocation from > > __usb_hcd_giveback_urb() and therefore it is required for the callback > > handler to disable the interrupts while acquiring the lock. > > The callback may be invoked either in IRQ or BH context depending on the > > USB host controller. > > Use the _irqsave variant of the locking primitives. > > > > Cc: Marcel Holtmann > > Cc: Johan Hedberg > > Cc: linux-bluetooth@vger.kernel.org > > Signed-off-by: Sebastian Andrzej Siewior > > --- > > drivers/bluetooth/btusb.c | 20 ++++++++++++-------- > > 1 file changed, 12 insertions(+), 8 deletions(-) > > can I get an ACK from someone ensuring that this is the direction we are going with the USB host controllers? +Alan. EHCI completes in BH since v3.12-rc1. In order to get rid of that local_irq_save() in USB core code I need to make sure that the USB device driver(s) use irqsave primitives. See https://lkml.kernel.org/r/Pine.LNX.4.44L0.1806011629140.1404-100000@iolanthe.rowland.org > Regards > > Marcel Sebastian From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Bluetooth: btusb: use irqsave() in URB's complete callback From: Sebastian Andrzej Siewior Message-Id: <20180621125207.7xtz2jpnp2vdvaau@linutronix.de> Date: Thu, 21 Jun 2018 14:52:07 +0200 To: Marcel Holtmann , Alan Stern Cc: Greg Kroah-Hartman , "open list:BLUETOOTH DRIVERS" , linux-usb@vger.kernel.org, Thomas Gleixner , Johan Hedberg List-ID: T24gMjAxOC0wNi0yMSAxNDo0Mzo0MSBbKzAyMDBdLCBNYXJjZWwgSG9sdG1hbm4gd3JvdGU6Cj4g SGkgU2ViYXN0aWFuLApIaSBNYXJjZWwsCgo+ID4gVGhlIFVTQiBjb21wbGV0aW9uIGNhbGxiYWNr IGRvZXMgbm90IGRpc2FibGUgaW50ZXJydXB0cyB3aGlsZSBhY3F1aXJpbmcKPiA+IHRoZSAtPmxv Y2suIFdlIHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NhbF9pcnFfZGlzYWJsZSgpIGludm9jYXRpb24g ZnJvbQo+ID4gX191c2JfaGNkX2dpdmViYWNrX3VyYigpIGFuZCB0aGVyZWZvcmUgaXQgaXMgcmVx dWlyZWQgZm9yIHRoZSBjYWxsYmFjawo+ID4gaGFuZGxlciB0byBkaXNhYmxlIHRoZSBpbnRlcnJ1 cHRzIHdoaWxlIGFjcXVpcmluZyB0aGUgbG9jay4KPiA+IFRoZSBjYWxsYmFjayBtYXkgYmUgaW52 b2tlZCBlaXRoZXIgaW4gSVJRIG9yIEJIIGNvbnRleHQgZGVwZW5kaW5nIG9uIHRoZQo+ID4gVVNC IGhvc3QgY29udHJvbGxlci4KPiA+IFVzZSB0aGUgX2lycXNhdmUgdmFyaWFudCBvZiB0aGUgbG9j a2luZyBwcmltaXRpdmVzLgo+ID4gCj4gPiBDYzogTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9s dG1hbm4ub3JnPgo+ID4gQ2M6IEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAZ21haWwuY29t Pgo+ID4gQ2M6IGxpbnV4LWJsdWV0b290aEB2Z2VyLmtlcm5lbC5vcmcKPiA+IFNpZ25lZC1vZmYt Ynk6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPGJpZ2Vhc3lAbGludXRyb25peC5kZT4KPiA+ IC0tLQo+ID4gZHJpdmVycy9ibHVldG9vdGgvYnR1c2IuYyB8IDIwICsrKysrKysrKysrKy0tLS0t LS0tCj4gPiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkK PiAKPiBjYW4gSSBnZXQgYW4gQUNLIGZyb20gc29tZW9uZSBlbnN1cmluZyB0aGF0IHRoaXMgaXMg dGhlIGRpcmVjdGlvbiB3ZSBhcmUgZ29pbmcgd2l0aCB0aGUgVVNCIGhvc3QgY29udHJvbGxlcnM/ CitBbGFuLgoKRUhDSSBjb21wbGV0ZXMgaW4gQkggc2luY2UgdjMuMTItcmMxLiBJbiBvcmRlciB0 byBnZXQgcmlkIG9mIHRoYXQKbG9jYWxfaXJxX3NhdmUoKSBpbiBVU0IgY29yZSBjb2RlIEkgbmVl ZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgVVNCCmRldmljZSBkcml2ZXIocykgdXNlIGlycXNhdmUg cHJpbWl0aXZlcy4gU2VlCiAgaHR0cHM6Ly9sa21sLmtlcm5lbC5vcmcvci9QaW5lLkxOWC40LjQ0 TDAuMTgwNjAxMTYyOTE0MC4xNDA0LTEwMDAwMEBpb2xhbnRoZS5yb3dsYW5kLm9yZwoKPiBSZWdh cmRzCj4gCj4gTWFyY2VsCgpTZWJhc3RpYW4KLS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBs aXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRoZSBib2R5IG9m IGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGlu Zm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo=