Re: [BUG? / REGRESSION?] isp1760, lots of resets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2012-06-07 at 14:38 -0400, Alan Stern wrote:
> It looks like an odd sort of intermittent hardware problem, like a 
> loose connection.  It could be a random fault in the isp1760 or the 
> driver, but that seems less likely.

On the hardware side, it's not connected by DMA but PIO and the settings
for the freescale-wemi interface are quite possibly wrong.

> 
> Are you certain that it goes away when you revert the bedc0c31ac 
> commit?

:) Let's call it a "communication problem" with a friend of mine...
Sorry for that!

I rechecked this and narrowed it down to commit 71a9f9d268. This is the
first patch which breaks this custom board (with its maybe wrong
timings).
Before 71a9f9d268 it works fine, even with bedc0c31ac (endian patch).

71a9f9d268:
    usb/isp1760: Improve urb queueing, get rid of BUG():s in normal code paths
    
    This patch replaces the code that handles qtds. Intead of directly allocating
    chip mem and chip slot, enqueue the transfer in a list of queue heads. Use
    a centralized function enqueue_qtds() to prioritize and enqueue transfers.
    
    This removes all of the interrupt context BUG() calls when out of chip
    mem or transfer slots. It also makes it possible to efficiently use the
    dual-port mem on the chip for double-buffered transfers, which improve
    transfer times to/from/between usb sticks by about 40 % on my HW.
    
    With this patch it should also be possible to handle qtd scheduling outside
    of the interrupt handler, for significantly improved kernel latency. I have
    not implemented this since there are some locking issues which I haven't
    had time to look at.


I did:
git checkout 71a9f9d268 -- \
  drivers/usb/host/isp1760-hcd.c \
  drivers/usb/host/isp1760-hcd.h \
  drivers/usb/host/isp1760-if.c

Here is the relevant snippet of dmesg:

[    0.771980] isp1760 isp1760.1: NXP ISP1760 USB Host Controller
[    0.777953] isp1760 isp1760.1: new USB bus registered, assigned bus number 1
[    0.985152] isp1760 isp1760.1: bus width: 16, oc: analog
[    1.010584] isp1760 isp1760.1: irq 126, io mem 0xa8000000
[    1.016011] isp1760 isp1760.1: USB ISP 1761 HW rev. 1 started
[    1.021947] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.028780] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.036018] usb usb1: Product: NXP ISP1760 USB Host Controller
[    1.041879] usb usb1: Manufacturer: Linux 3.2.19-00007-g913f5b0 isp1760-hcd
[    1.048880] usb usb1: SerialNumber: isp1760.1
[    1.054477] hub 1-0:1.0: USB hub found
[    1.058313] hub 1-0:1.0: 1 port detected
[    1.062571] ISP1760 USB device initialised
[    1.066994] Initializing USB Mass Storage driver...
[    1.072275] usbcore: registered new interface driver usb-storage
[    1.078331] USB Mass Storage support registered.
[    1.082961] Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007)
[    1.091937] mousedev: PS/2 mouse device common for all mice
[    1.098811] i2c /dev entries driver
[    1.103224] Linux video capture interface: v2.00
[    1.108606] Driver for 1-wire Dallas network protocol.
[    1.114921] sdhci: Secure Digital Host Controller Interface driver
[    1.121156] sdhci: Copyright(c) Pierre Ossman
[    1.125522] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.138689] usbcore: registered new interface driver usbhid
[    1.144277] usbhid: USB HID core driver
[    1.149674] ALSA device list:
[    1.152654]   No soundcards found.
[    1.156140] TCP cubic registered
[    1.159431] NET: Registered protocol family 17
[    1.163913] can: controller area network core (rev 20090105 abi 8)
[    1.170326] NET: Registered protocol family 29
[    1.174782] can: raw protocol (rev 20090105)
[    1.179130] Registering the dns_resolver key type
[    1.183948] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 3
[    1.191826] /home/honschu/media/linux-2.6/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    1.201714] eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
[    1.356636] isp1760 isp1760.1: port 1 high speed
[    1.416638] usb 1-1: new high-speed USB device number 2 using isp1760
[    3.196891] PHY: 1:00 - Link is Up - 100/Full
[    3.226631] Sending DHCP requests ., OK
[    3.267069] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.1.38
[    3.274704] IP-Config: Complete:
[    3.277973]      device=eth0, addr=192.168.1.38, mask=255.255.255.0, gw=192.168.1.1,
[    3.285511]      host=192.168.1.38, domain=fritz, nis-domain=(none),
[    3.291900]      bootserver=0.0.0.0, rootserver=192.168.1.2, rootpath=
[    3.309274] VFS: Mounted root (nfs filesystem) on device 0:13.
[    3.315593] Freeing init memory: 124K
INIT: version 2.88 booting
Using makefile-style concurrent boot in runlevel S.
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...[   16.476662] isp1760 isp1760.1: port 1 high speed
[   16.536663] usb 1-1: device descriptor read/64, error -110
[   31.706668] isp1760 isp1760.1: port 1 high speed
[   31.766659] usb 1-1: device descriptor read/64, error -110
[   31.936652] isp1760 isp1760.1: port 1 high speed
[   31.996656] usb 1-1: new high-speed USB device number 3 using isp1760
[   47.056665] isp1760 isp1760.1: port 1 high speed
[   47.116663] usb 1-1: device descriptor read/64, error -110
[   62.286663] isp1760 isp1760.1: port 1 high speed
[   62.346662] usb 1-1: device descriptor read/64, error -110
[   62.516653] isp1760 isp1760.1: port 1 high speed
[   62.576659] usb 1-1: new high-speed USB device number 4 using isp1760
[   72.996650] usb 1-1: device not accepting address 4, error -110
[   73.056655] isp1760 isp1760.1: port 1 high speed
[   73.116669] usb 1-1: new high-speed USB device number 5 using isp1760
[   83.536666] usb 1-1: device not accepting address 5, error -110
[   83.542653] hub 1-0:1.0: unable to enumerate USB device on port 1
done.



--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux