Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1854736imm; Sat, 4 Aug 2018 12:21:49 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfjdwwvY+1oR9E9O5osdP6crfaVTtn6mKS37TxjW4MUl2RVVQ83AOzCkZJ0TlQzObNUKCFD X-Received: by 2002:a17:902:22:: with SMTP id 31-v6mr8288511pla.190.1533410509832; Sat, 04 Aug 2018 12:21:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533410509; cv=none; d=google.com; s=arc-20160816; b=RgQ5y32yY60oe61tJJPNWFIm5X3o3eWc3J2HiBMtuBu90pa/PV/J5AEJi56vEihOkU PFTllytLlQKFEn9jigdRGzKm7vexbcGAQak+G3OFViaW/S+63lf4J/x/LXBSuQHHkM/4 T+av28H9TeimThGKI1vg+wBOCMNVJusZZ5kkLVBvuObCBrjI1cnkx4ihLDyMiP+05WzU Tcvwcseh6MfJQGxTyLZwZegXTe5wAz/yBiTjJmX+aiXeUpklTMfCCClvGTbjz8D5GUqq mwI6D51XePAm9Dnmg0cRFPkwOpPPiIxP9EEqgWYEu/918Xgt5XvO9mGbiSxxy4e4a+ub NsOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=1aiR7cguf8Q7y7ZfqZ7kf3F4jEw9eaLvgwRL9fKIBpI=; b=yiIU2d0IwIjwj58WEbCXhRXu8u1d4pgMegyYwRgai4iBNjW0yGdRrxBU8yGbT1/Kgv 7nnTbi9p1VPzdmGnx4ccMUMS3G7YcvMcj6lD4hLZxY63nVs8gnQh1vVW+MeBSurs18eM ZpX0/8aKL5a8ZPkItc5djMerTRqEa0u7L+rXNz2KZQ+jPne6Len7xQhPs2pHNPPfxmA4 mbvsiJdpNCMvQPCbyqW1KTPR7HnSjkuiOiJ8slG65xQtuINnCyAGDXJH/CaXXWR4Arpw xyOVJ+zIdo+MsLhMXs/3QSI5rDmq4juczSkIWR2PV5Ud3WQgnc54MlZG5ZaOYDEWcFZR 6hFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=kxYMlO62; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u3-v6si8601453pgq.354.2018.08.04.12.21.26; Sat, 04 Aug 2018 12:21:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=kxYMlO62; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729600AbeHDVVj (ORCPT + 99 others); Sat, 4 Aug 2018 17:21:39 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:34400 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728067AbeHDVVj (ORCPT ); Sat, 4 Aug 2018 17:21:39 -0400 Received: by mail-oi0-f67.google.com with SMTP id 13-v6so15663131ois.1; Sat, 04 Aug 2018 12:19:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=1aiR7cguf8Q7y7ZfqZ7kf3F4jEw9eaLvgwRL9fKIBpI=; b=kxYMlO62SEy+ej2JlnaWUUxjwsfXcS8rhIOW9ikn5ivOaxcXmyUUXxXm5oSiGDlNkw 8xrouYv0qIueMnLBWQ3BbZAniSVTrozGv/DrymV85GzdkuXVuTA2Xwz03+giHRXZs9J+ mI13HQg2N545lETOJwv8zrR+/5n8OJaT/SxNLX3WJsCB7lJIOggkEO5qUBIIMxEOPwns /xjD+mmCdguiKoaK+1cWx55pTVBCmXEhayQUyAj5QIHJ4VfYi90E4KXFHaAc5e7z1kcD /REs08zsDw6OekgcaATpcU+rx9VlP8Jwv+5sqjGeHgmEdHU0O/plco/bPz+DzNpcnkY7 +UfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=1aiR7cguf8Q7y7ZfqZ7kf3F4jEw9eaLvgwRL9fKIBpI=; b=ktmLO5JFsK7o/QwzKupcYeLl1Au4QEIlhxT2irmhyQLaS5j5Npv9HPUfqC2fT6z957 XazTee7ha8gKu6WFhm+ZE6jJaFjH4UjBpZc9WAPlTOJuamkUhMKD6yD1wLIkYFhXPJTd bNB0Fd+l4ln+2jmf3fVz2qY3GDA1/m7fL/WrvV0qRA+VIYRj92nQrKYxQRcBQh2X7H2h tzGbA2bFcY6BkkD3kh/SvNQFHec0D3Br8uOn99Rt0EH+0M70BENIp6lKhF0+sxB2pbhz KFMIlaE02Acg76hQHPUslB+XZhkWO0vadhSca8+Bqb3CvqdTsWSeyjPDHYk3C+kCLJ2D VZow== X-Gm-Message-State: AOUpUlEfQfO2LA/0twqh/Nv6b0T5/bu5fXj0hNoxhEceTjUrfWnWaXT5 GpgG8magGYVavhCkG7FtN5hkFsfj X-Received: by 2002:aca:ec51:: with SMTP id k78-v6mr7983206oih.236.1533410399313; Sat, 04 Aug 2018 12:19:59 -0700 (PDT) Received: from localhost (108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66]) by smtp.gmail.com with ESMTPSA id v202-v6sm6272434oie.47.2018.08.04.12.19.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 04 Aug 2018 12:19:58 -0700 (PDT) Date: Sat, 4 Aug 2018 12:19:56 -0700 From: Guenter Roeck To: Alan Stern Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] USB: OHCI: ohci-sm501: complete URBs in BH context Message-ID: <20180804191956.GA5639@roeck-us.net> References: <1533355279-26725-1-git-send-email-linux@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 04, 2018 at 10:50:15AM -0400, Alan Stern wrote: > On Fri, 3 Aug 2018, Guenter Roeck wrote: > > > Testing an USB drive connected to ohci-sm501 results in a large number > > of runtime warnings. > > > > WARNING: CPU: 0 PID: 0 at ./include/linux/dma-mapping.h:541 > > hcd_buffer_free+0x148/0x178 > > Modules linked in: > > > > CPU: 0 PID: 0 Comm: swapper Not tainted 4.18.0-rc7-00014-g7ec386e4c991-dirty > > PC is at hcd_buffer_free+0x148/0x178 > > PR is at hcd_buffer_free+0x66/0x178 > > PC : 8c26cbb0 SP : 8c481da8 SR : 400080f1 > > TEA : c00c8fe0 > > R0 : 000000f0 R1 : 000000f0 R2 : 8f9bb890 R3 : 00000000 > > R4 : 8f9c8800 R5 : 00001004 R6 : b07c6000 R7 : 007c6000 > > R8 : 00001004 R9 : 8f9bb814 R10 : 8c388104 R11 : 007c6000 > > R12 : b07c6000 R13 : 8f875680 R14 : 00000000 > > MACH: 000002fe MACL: 0000017c GBR : 00000000 PR : 8c26cace > > > > Call trace: > > [<(ptrval)>] usb_hcd_unmap_urb_for_dma+0xf4/0x13c > > [<(ptrval)>] arch_local_save_flags+0x0/0x8 > > [<(ptrval)>] __usb_hcd_giveback_urb+0x2e/0xdc > > [<(ptrval)>] arch_local_save_flags+0x0/0x8 > > [<(ptrval)>] finish_urb+0x8a/0x164 > > [<(ptrval)>] arch_local_save_flags+0x0/0x8 > > [<(ptrval)>] printk+0x0/0x48 > > [<(ptrval)>] ohci_work.part.11+0x150/0x41c > > [<(ptrval)>] td_done.isra.4+0x0/0x11c > > [<(ptrval)>] vprintk_default+0x14/0x20 > > [<(ptrval)>] arch_local_save_flags+0x0/0x8 > > [<(ptrval)>] ohci_irq+0x20c/0x314 > > [<(ptrval)>] usb_hcd_irq+0x16/0x28 > > > > Code analysis shows that interrupts are indeed disabled in ohci_irq(). > > Handle the situation by setting the HCD_BH flag in the ohci-sm501 driver. > > With this flag set, urbs are released in a tasklet and not by the > > interrupt handler. > > > > Fixes: f54aab6ebcecd ("usb: ohci-sm501 driver") > > Signed-off-by: Guenter Roeck > > Unfortunately, one must not simply turn on this flag. Doing so will > violate some of the documented requirements for scheduling of periodic > transfers. Significantly deeper changes to the OHCI driver are > necessary before the flag is set. > Well, it was worth a try. Note that I did try to figure out if there are any pitfalls when setting HCD_BH, but I didn't find anything. Reminds me of Hitchhiker through the Galaxy for some reason. Cheers, Guenter