Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1188649imm; Fri, 3 Aug 2018 21:03:35 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfmvv1M6fCbLTH9C2+oROPN+c1tVDS4902DknNbwPUjfCz4oRV45L5NXmnIzAuxM29CRDNI X-Received: by 2002:a17:902:6907:: with SMTP id j7-v6mr5896295plk.323.1533355415261; Fri, 03 Aug 2018 21:03:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533355415; cv=none; d=google.com; s=arc-20160816; b=f3QsHIhdeS0u3QY0Q1jSpbRNXcaviXSC+6RMb5QRuhT9VQuksN/NZrLAFgpkn1DXSH BXKFAfAIIjiCOzHAB1w4j4VJvAnSwe5knwmuKLycokAIImJZhS9mR1t3xImeCrOoGhMm 9WrjwjJm0IuTB1ib9rpUBViROfoOAEbM5Mkme2FmXXDooS+oIDcQN/G31ENx8CZ7qPKb 2g4/6epYaaOpLN1ngGwGU/ZFFoMTixykd4Nv1ByP6Ket7Yv3oIYQGirrZCUtE4UZ0s9q Nth+6REBpB9spncb0NQ8Y7Ulgsjg+2UitONYTFLomfR/mKnULS6AQmWtwBRNt8gX0fAm yRvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=qO0CNVPhjMUfB7LImuFLHrl5c/y8i8ItKIwaOWn3jhs=; b=s+7iCxebmnokDOjrMDENlp+VlBiJRDUWScnWzG/dk6oigu8sTc+edyVCVtqRjJAjeZ TC43s0ZqjRMzdkXUvp+bNfyKjKqBjgnm0qP53WQ1u87Xc++aE8UgCUFTdHp7djWVMqXa VgswunhadiLXASFYXjI4P4/Mr0qMeYgSjhoEqdixtdHRy5ZlScH9tIRs7ar6mwUpq/wT Om/SuvMUz+poket3NW8oAE6R9qFyZddBGYWAm6STZ5huEuis9EMbGMNrUQ3CjqltjZc9 thhz4st8sUrzgvRfInTf6yUbeHb4Ls4hJv+jiBvvsXNvpcRS4uSq5/E6BOztZaxrzSyd zNAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=N4cAde8L; 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 u134-v6si6486562pfc.244.2018.08.03.21.02.40; Fri, 03 Aug 2018 21:03:35 -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=N4cAde8L; 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 S1727218AbeHDGA3 (ORCPT + 99 others); Sat, 4 Aug 2018 02:00:29 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:46622 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726396AbeHDGA3 (ORCPT ); Sat, 4 Aug 2018 02:00:29 -0400 Received: by mail-pg1-f195.google.com with SMTP id f14-v6so3199887pgv.13; Fri, 03 Aug 2018 21:01:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=qO0CNVPhjMUfB7LImuFLHrl5c/y8i8ItKIwaOWn3jhs=; b=N4cAde8LnWGB2ZNR+yYtmfMAvgAxWkQn/N2DvgVnxbpT9PWk5n+jRGEp7eTlhjpUnh yJYTXeOLnFi38Bd6oxLnYbN+uOi5GU7nA2EzJuMVAqYfHIUgHvtfZ1nIL1QSVJZVeB1/ KzZZYx83EHVHZA/8exCot/uchpuTQ7yLWcgmqlrsUUjl6yQcTZfHlUrrmaRdoXean/it YQhSdVh/3mClR+sHpM4QZTCwz0p6lSPG++9o+H9R9zqJGd0D4EfwwGQErrEOg3OXqU4w eSaAuhjw6Sl+wXfZdqaIwOZuWxKE74ZgYSe7R1wP6FtLe1/3uI+qzQLXD9t93THeNyCK f4fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=qO0CNVPhjMUfB7LImuFLHrl5c/y8i8ItKIwaOWn3jhs=; b=hwKhm9OSUgvFKWxbgZzGgetbvVHnsfneJvzPuFW4PZBeX/6mxPzslbOKuU3j9jLwWq sG1C9ynJeUwrSbafhj7vAn6wiuJtbW4q4Ziknh5CyY9PdmAfB5kgQ5BOxaUzZYJYqIlw nnYEzWdsYveKCPxaDW2iYmH85mgbtNj3F39lNZLStJTzyfVXN4CK2kRCndbn6J1R6Pk6 T/jnF24fulBcj5htm/4AunPHXfdufluRVhaTw0p8q+6Ip+O4BYxH/ZgLgm/BeBlVcmRT /qP8p6mo60XDRyujnfl/H4lLWMemL4lridlyh3O7VxGsd4PIdvwxubCJ3o9TwUzQeli/ qklw== X-Gm-Message-State: AOUpUlERMPvx/X6nV+baPUenm8kByMXI3J3a5scvoecoSmzujzoOddd8 FlcPc0duZzO23GvEpSMdkS0= X-Received: by 2002:a63:7a43:: with SMTP id j3-v6mr6124658pgn.363.1533355281180; Fri, 03 Aug 2018 21:01:21 -0700 (PDT) Received: from localhost (108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66]) by smtp.gmail.com with ESMTPSA id h132-v6sm8865862pfc.100.2018.08.03.21.01.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 03 Aug 2018 21:01:20 -0700 (PDT) From: Guenter Roeck To: Alan Stern Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Guenter Roeck Subject: [PATCH] USB: OHCI: ohci-sm501: complete URBs in BH context Date: Fri, 3 Aug 2018 21:01:19 -0700 Message-Id: <1533355279-26725-1-git-send-email-linux@roeck-us.net> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- drivers/usb/host/ohci-sm501.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/ohci-sm501.c b/drivers/usb/host/ohci-sm501.c index c9233cddf9a2..eeb5b3137cf2 100644 --- a/drivers/usb/host/ohci-sm501.c +++ b/drivers/usb/host/ohci-sm501.c @@ -49,7 +49,7 @@ static const struct hc_driver ohci_sm501_hc_driver = { * generic hardware linkage */ .irq = ohci_irq, - .flags = HCD_USB11 | HCD_MEMORY | HCD_LOCAL_MEM, + .flags = HCD_USB11 | HCD_MEMORY | HCD_LOCAL_MEM | HCD_BH, /* * basic lifecycle operations -- 2.7.4