All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Fredrik Noring <noring@nocrew.org>
Cc: laurentiu.tudor@nxp.com, hch@lst.de, stern@rowland.harvard.edu,
	gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
	marex@denx.de, leoyang.li@nxp.com, linux-kernel@vger.kernel.org,
	robin.murphy@arm.com, JuergenUrban@gmx.de
Subject: Re: [PATCH v7 3/5] usb: host: ohci-sm501: init genalloc for local memory
Date: Tue, 11 Jun 2019 12:03:43 -0700	[thread overview]
Message-ID: <20190611190343.GA18459@roeck-us.net> (raw)
In-Reply-To: <20190611172654.GA2602@sx9>

On Tue, Jun 11, 2019 at 07:26:54PM +0200, Fredrik Noring wrote:
> Hi Guenter,
> 
> > > This patch results in usb access failures when trying to boot from the
> > > sm501-usb controller on sh4 with qemu.
> > > 
> > > usb 1-2.1: reset full-speed USB device number 4 using sm501-usb
> > > sd 1:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x03 driverbyte=0x00
> > > sd 1:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 08 7c 00 00 f0 00
> > > print_req_error: I/O error, dev sda, sector 2172 flags 80700
> > > usb 1-2.1: reset full-speed USB device number 4 using sm501-usb
> > > sd 1:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x03 driverbyte=0x00
> > > sd 1:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 01 da 00 00 f0 00
> > > print_req_error: I/O error, dev sda, sector 474 flags 84700
> > > usb 1-2.1: reset full-speed USB device number 4 using sm501-usb
> > > sd 1:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x03 driverbyte=0x00
> > > sd 1:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 02 da 00 00 f0 00
> > > print_req_error: I/O error, dev sda, sector 730 flags 84700
> > > usb 1-2.1: reset full-speed USB device number 4 using sm501-usb
> > > sd 1:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x03 driverbyte=0x00
> > > sd 1:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 0b 50 00 00 f0 00
> > > print_req_error: I/O error, dev sda, sector 2896 flags 84700
> > > 
> > > Qemu command line is:
> > > 
> > > The qemu command line is:
> > > 
> > > qemu-system-sh4 -M r2d \
> > >         -kernel ./arch/sh/boot/zImage \
> > > 	-snapshot \
> > > 	-usb -device usb-storage,drive=d0 \
> > > 	-drive file=rootfs.ext2,if=none,id=d0,format=raw \
> > > 	-append 'panic=-1 slub_debug=FZPUA root=/dev/sda rootwait console=ttySC1,115200 earlycon=scif,mmio16,0xffe80000 noiotrap' \
> > > 	-serial null -serial stdio \
> > > 	-net nic,model=rtl8139 -net user -nographic -monitor null
> > > 
> > > Reverting this patch as well as "USB: drop HCD_LOCAL_MEM flag" fixes the
> > > problem. Reverting "USB: drop HCD_LOCAL_MEM flag" alone does not help.
> > > 
> > 
> > This problem is still seen in next-20190611.
> > Has anyone actually tested this code ?
> 
> I tested patches 1, 2 and 5 with v5.0.19. Perhaps yet another part of the
> OHCI subsystem allocates memory from the wrong pool? With some luck it is
> relatively easy to trace backwards from the error messages to the point
> where the memory is being allocated. One way to establish this is to
> sprinkle printk around if-statements. There may be 10-20 levels of calls
> including one or two indirect calls via pointers. Would you be able to do
> that?
> 

I don't think I'll have time to do that anytime soon. Not that I know what
exactly to look for in the first place.

Can you do that debugging yourself ? All you would need is a cross-compiler
(eg from kernel.org), qemu, and a working configuration (the root file
system doesn't really matter since the code doesn't get to the point of
loading it, but you can use [1]). For the configuration file, you can use
rts7751r2dplus_defconfig with CONFIG_CMDLINE and CONFIG_CMDLINE_OVERWRITE
removed.

Thanks,
Guenter

---
[1] https://github.com/groeck/linux-build-test/blob/master/rootfs/sh/rootfs.ext2.gz


  reply	other threads:[~2019-06-11 19:03 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-29 10:28 [PATCH v7 0/5] prerequisites for device reserved local mem rework laurentiu.tudor
2019-05-29 10:28 ` [PATCH v7 1/5] lib/genalloc.c: Add gen_pool_dma_zalloc() for zeroed DMA allocations laurentiu.tudor
2019-05-29 10:28 ` [PATCH v7 2/5] USB: use genalloc for USB HCs with local memory laurentiu.tudor
2019-05-29 10:38   ` Greg KH
2019-05-29 11:15     ` Laurentiu Tudor
2019-05-29 11:23       ` Greg KH
2019-05-29 11:25         ` hch
2019-05-29 11:32           ` Greg KH
2019-05-29 10:28 ` [PATCH v7 3/5] usb: host: ohci-sm501: init genalloc for " laurentiu.tudor
2019-06-05 21:46   ` Guenter Roeck
2019-06-11 13:32     ` Guenter Roeck
2019-06-11 17:26       ` Fredrik Noring
2019-06-11 19:03         ` Guenter Roeck [this message]
2019-06-13 13:40           ` Fredrik Noring
2019-06-13 13:54             ` Guenter Roeck
2019-06-13 15:34               ` Fredrik Noring
2019-06-13 18:05                 ` Guenter Roeck
2019-06-14 14:28                   ` Fredrik Noring
2019-06-24  6:35                     ` Christoph Hellwig
2019-06-24 12:59                       ` Fredrik Noring
2019-06-25  6:00                         ` Christoph Hellwig
2019-06-25 15:05                           ` [PATCH 1/2] lib/genalloc.c: Add algorithm, align and zeroed family of DMA allocators Fredrik Noring
2019-06-25 15:08                             ` [PATCH 2/2] usb: host: Fix excessive alignment restriction for local memory allocations Fredrik Noring
2019-06-25 20:54                               ` Guenter Roeck
2019-06-25 20:54                             ` [PATCH 1/2] lib/genalloc.c: Add algorithm, align and zeroed family of DMA allocators Guenter Roeck
2019-06-28  5:57                             ` Christoph Hellwig
2019-06-18 10:48                   ` [PATCH v7 3/5] usb: host: ohci-sm501: init genalloc for local memory Laurentiu Tudor
2019-05-29 10:28 ` [PATCH v7 4/5] usb: host: ohci-tmio: " laurentiu.tudor
2019-05-29 10:28 ` [PATCH v7 5/5] USB: drop HCD_LOCAL_MEM flag laurentiu.tudor
2019-05-29 11:34 ` [PATCH v7 0/5] prerequisites for device reserved local mem rework Greg KH
2019-05-29 11:37   ` Christoph Hellwig
2019-05-29 14:06     ` Laurentiu Tudor
2019-05-31 16:43       ` Christoph Hellwig
2019-05-31 17:06         ` Laurentiu Tudor
2019-06-04 14:16         ` Laurentiu Tudor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190611190343.GA18459@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=JuergenUrban@gmx.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=laurentiu.tudor@nxp.com \
    --cc=leoyang.li@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=noring@nocrew.org \
    --cc=robin.murphy@arm.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.