Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2235177ybl; Thu, 15 Aug 2019 08:35:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqxvvCnOsbcTTHmxR1mNzMY6Q1+J32B/MUeBpJn2KPdTD1G+VFHv6vTGIwXVpkokzvCPN7N9 X-Received: by 2002:aa7:984a:: with SMTP id n10mr6110224pfq.3.1565883328699; Thu, 15 Aug 2019 08:35:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565883328; cv=none; d=google.com; s=arc-20160816; b=u1JfDgQh0PND08Jqh2nOLmyvsmOryVXRVUSiWnHUnK9MI8bFOHSYSTaZsjlHH4gq1I /Oggg+Gdlr5IzsQKDkno+tKfxWoUKxOpdiU7lOiSiY9cdoUl5MyMitp7dw8LC0v5nW7/ EnB6nBa70q9bNAaUGMQbVBU/0/zg1uA8Y6iom0RunKQy/VAvoaXFXWmDQRQw8p9auoC6 +Q0SD+bz/HVw5QVkrIdJ2GL1ZPWOd8h2753P5/NqscYMtUsa30rkOWNBJLqkiitjb9nh xuuesFo9R7a0SUR41QYHj4UK9+R5PzDrtrsWo7vurRNMuyAYLVzkl9Y+Vf8cxkxtsvPF F1Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:in-reply-to :subject:cc:to:from:date; bh=Y2FFcNyd7xFcmeAHV5LGezz/IHAXMRx73TXUQy/gUrU=; b=f+ABcIgg90ZzeF9uWmzOgP5RkSXnU2f9uWhEJQkeffy+ZluH5P5abesfKsZpqTXyLa S7QEDiXaoXpcmgJMxezwtOtQgFdR74NYbUwwdZ12KItwb/FKkYytq9kITSzqOuzjcFgA 9Kt1Btvae/09pUHCsSMRPvjFnKekYMQVGDB7M7Ud2logmFLgJ+q+qr+1ViDmNUwE5vlL 2c6deHikIW/f1o2W1hTgC8YCnkXoIgf9WwWsRfKN8BwfT2h32oZ7uPBm8SJXGdeZfRQ7 3ppL/kSEeD0Jm62Au6LOCFM5TCJPQpcW7xFmwkRZ3mQud4ZiFsZ4Oi6ps0Gl7oJpUE2e PzAQ== ARC-Authentication-Results: i=1; mx.google.com; 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 k142si2276846pfd.217.2019.08.15.08.35.13; Thu, 15 Aug 2019 08:35:28 -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; 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 S1732946AbfHOOjT (ORCPT + 99 others); Thu, 15 Aug 2019 10:39:19 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:58000 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1730084AbfHOOjT (ORCPT ); Thu, 15 Aug 2019 10:39:19 -0400 Received: (qmail 2256 invoked by uid 2102); 15 Aug 2019 10:39:17 -0400 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 15 Aug 2019 10:39:17 -0400 Date: Thu, 15 Aug 2019 10:39:17 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Roger Quadros cc: Pawel Laszczak , , , , , , , , , , , Subject: Re: [PATCH v10 0/6] Introduced new Cadence USBSS DRD Driver. In-Reply-To: <9f54d3d5-da99-327b-631e-fad1329dcde4@ti.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 15 Aug 2019, Roger Quadros wrote: > Felipe & Alan, > > On 21/07/2019 21:32, Pawel Laszczak wrote: > > This patch introduce new Cadence USBSS DRD driver to linux kernel. > > > > The Cadence USBSS DRD Controller is a highly configurable IP Core which > > can be instantiated as Dual-Role Device (DRD), Peripheral Only and > > Host Only (XHCI)configurations. > > > > The current driver has been validated with FPGA burned. We have support > > for PCIe bus, which is used on FPGA prototyping. > > > > The host side of USBSS-DRD controller is compliance with XHCI > > specification, so it works with standard XHCI Linux driver. > > While testing this driver I encountered the following issue if I do the following. > > 1) USB port is "otg" and nothing connected so it is in IDLE mode to begin with. > i.e. HCD & UDC not registered. > > 2) Load mass storage gadget with backing medium. > > modprobe g_mass_storage file=lun stall=0 > > [ 28.172142] udc-core: couldn't find an available UDC - added [g_mass_storage] to list of pending drivers > > 3) Connect port to PC host > > [ 30.564767] cdns-usb3 6000000.usb: Initialized ep0 support: > [ 30.570591] cdns-usb3 6000000.usb: Initialized ep1out support: BULK, INT ISO > [ 30.577713] cdns-usb3 6000000.usb: Initialized ep2out support: BULK, INT ISO > [ 30.584835] cdns-usb3 6000000.usb: Initialized ep3out support: BULK, INT ISO > [ 30.591957] cdns-usb3 6000000.usb: Initialized ep4out support: BULK, INT ISO > [ 30.599078] cdns-usb3 6000000.usb: Initialized ep5out support: BULK, INT ISO > [ 30.606199] cdns-usb3 6000000.usb: Initialized ep6out support: BULK, INT ISO > [ 30.613320] cdns-usb3 6000000.usb: Initialized ep7out support: BULK, INT ISO > [ 30.620441] cdns-usb3 6000000.usb: Initialized ep8out support: BULK, INT ISO > [ 30.627562] cdns-usb3 6000000.usb: Initialized ep9out support: BULK, INT ISO > [ 30.634684] cdns-usb3 6000000.usb: Initialized ep10out support: BULK, INT ISO > [ 30.641893] cdns-usb3 6000000.usb: Initialized ep11out support: BULK, INT ISO > [ 30.649100] cdns-usb3 6000000.usb: Initialized ep12out support: BULK, INT ISO > [ 30.656309] cdns-usb3 6000000.usb: Initialized ep13out support: BULK, INT ISO > [ 30.663516] cdns-usb3 6000000.usb: Initialized ep14out support: BULK, INT ISO > [ 30.670724] cdns-usb3 6000000.usb: Initialized ep15out support: BULK, INT ISO > [ 30.677935] cdns-usb3 6000000.usb: Initialized ep1in support: BULK, INT ISO > [ 30.684979] cdns-usb3 6000000.usb: Initialized ep2in support: BULK, INT ISO > [ 30.692020] cdns-usb3 6000000.usb: Initialized ep3in support: BULK, INT ISO > [ 30.699057] cdns-usb3 6000000.usb: Initialized ep4in support: BULK, INT ISO > [ 30.706097] cdns-usb3 6000000.usb: Initialized ep5in support: BULK, INT ISO > [ 30.713135] cdns-usb3 6000000.usb: Initialized ep6in support: BULK, INT ISO > [ 30.720175] cdns-usb3 6000000.usb: Initialized ep7in support: BULK, INT ISO > [ 30.727213] cdns-usb3 6000000.usb: Initialized ep8in support: BULK, INT ISO > [ 30.734252] cdns-usb3 6000000.usb: Initialized ep9in support: BULK, INT ISO > [ 30.741289] cdns-usb3 6000000.usb: Initialized ep10in support: BULK, INT ISO > [ 30.748414] cdns-usb3 6000000.usb: Initialized ep11in support: BULK, INT ISO > [ 30.755536] cdns-usb3 6000000.usb: Initialized ep12in support: BULK, INT ISO > [ 30.762661] cdns-usb3 6000000.usb: Initialized ep13in support: BULK, INT ISO > [ 30.769785] cdns-usb3 6000000.usb: Initialized ep14in support: BULK, INT ISO > [ 30.776910] cdns-usb3 6000000.usb: Initialized ep15in support: BULK, INT ISO > [ 30.786313] Mass Storage Function, version: 2009/09/11 > [ 30.791455] LUN: removable file: (no medium) > [ 31.039497] lun0: unable to open backing file: 500M.bin > [ 31.158689] g_mass_storage 6000000.usb: failed to start g_mass_storage: -2 > [ 31.165606] cdns-usb3 6000000.usb: Failed to register USB device controller > [ 31.172585] cdns-usb3 6000000.usb: set 2 has failed, back to 0 > > Now, -2 is ENOENT i.e. /* No such file or directory */ > The file is present so that's not the real issue. > > The call trace to fsg_lun_open is below > > [ 30.952877] fsg_lun_open+0x24/0x42c [usb_f_mass_storage] > [ 30.958259] fsg_common_create_lun+0xc8/0x2b8 [usb_f_mass_storage] > [ 30.964422] fsg_common_create_luns+0xa4/0x104 [usb_f_mass_storage] > [ 30.970670] msg_bind+0xd8/0x1e0 [g_mass_storage] > [ 30.975360] composite_bind+0x7c/0x180 [libcomposite] > [ 30.980396] udc_bind_to_driver+0x68/0x110 [udc_core] > [ 30.985432] check_pending_gadget_drivers+0x74/0xd8 [udc_core] > [ 30.991247] usb_add_gadget_udc_release+0x180/0x1e8 [udc_core] > [ 30.997062] usb_add_gadget_udc+0x10/0x18 [udc_core] > [ 31.002010] __cdns3_gadget_init+0x3a0/0x628 [cdns3] > [ 31.006959] cdns3_role_start+0x6c/0xd0 [cdns3] > [ 31.011473] cdns3_hw_role_switch+0x80/0xe8 [cdns3] > [ 31.016336] cdns3_drd_thread_irq+0x10/0x20 [cdns3] > [ 31.021197] irq_thread_fn+0x28/0x78 > [ 31.024757] irq_thread+0x124/0x1b8 > [ 31.028233] kthread+0x124/0x128 > [ 31.031447] ret_from_fork+0x10/0x18 > > Is opening the backing file from irq_thread_fn the issue here? > If yes, how to resolve this? I would guess that it probably is related to that. In any case, the backing filename should be an explicit complete path. Who knows what the current directory will be when the actual open call takes place? Alan Stern