[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170916042404.i2snvrpjigipdwhj@gpanizzo.laptop.office.chorus>
Date: Sat, 16 Sep 2017 12:24:04 +0800
From: gustavo panizzo <gfa@...bi.com.ar>
To: Felipe Balbi <balbi@...nel.org>,
Baolin Wang <baolin.wang@...aro.org>,
Greg KH <gregkh@...uxfoundation.org>,
USB <linux-usb@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, stable@...r.kernel.org,
Brian Kim <brian.kim@...dkernel.com>
Subject: Re: [PATCH] usb: dwc3: Fix the USB 3.0 hub detection bug after warm
boot
Hello
On Fri, Sep 15, 2017 at 09:01:13AM +0000, gustavo panizzo wrote:
>Hello
>
>On Thu, Sep 07, 2017 at 01:51:31PM +0300, Felipe Balbi wrote:
>>
>>Hi,
>>
>>gustavo panizzo <gfa@...bi.com.ar> writes:
>>>>>>>>>>---
>>>>>>>>>>drivers/usb/dwc3/core.c | 33 +++++++++++++++++++++++++++++++++
>>>>>>>>>>1 file changed, 33 insertions(+)
>>>>>>>>>>
>>>>>>>>>>diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>>>>>>>>>>index 326b302fc440..f92dfe213d89 100644
>>>>>>>>>>--- a/drivers/usb/dwc3/core.c
>>>>>>>>>>+++ b/drivers/usb/dwc3/core.c
>>>>>>>>>>@@ -1259,6 +1259,38 @@ static int dwc3_probe(struct platform_device
>>>>>>>>>>*pdev)
>>>>>>>>>> return ret;
>>>>>>>>>>}
>>>>>>>>>>
>>>>>>>>>>+static void dwc3_shutdown(struct platform_device *pdev)
>>>>>>>>>>+{
>>>>>>>>>>+ struct dwc3 *dwc = platform_get_drvdata(pdev);
>>>>>>>>>>+ struct resource *res = platform_get_resource(pdev,
>>>>>>>>>>IORESOURCE_MEM, 0);
>>>>>>>>>>+
>>>>>>>>>>+ pm_runtime_get_sync(&pdev->dev);
>>>>>>>>>>+ /*
>>>>>>>>>>+ * restore res->start back to its original value so that, in case
>>>>>>>>>>the
>>>>>>>>>>+ * probe is deferred, we don't end up getting error in request
>>>>>>>>>>the
>>>>>>>>>>+ * memory region the next time probe is called.
>>>>>>>>>>+ */
>>>>>>>>>>+ res->start -= DWC3_GLOBALS_REGS_START;
>>>>>>>>>>+
>>>>>>>>>>+ dwc3_debugfs_exit(dwc);
>>>>>>>>>>+ dwc3_core_exit_mode(dwc);
>>>>>>>>>>+ dwc3_event_buffers_cleanup(dwc);
>>>>>>>>
>>>>>>>>
>>>>>>>>What about dwc3_event_buffers_cleanup? should I remove it from
>>>>>>>>dwc3_shutdown()?
>>>>>>>>It is already in dwc3_core_exit()
>>>>>>>
>>>>>>>I think so. We should avoid duplicate code.
>>>>>>>
>>>>>>>>>>+ dwc3_free_event_buffers(dwc);
>>>>>>>>>>+
>>>>>>>>>>+ usb_phy_set_suspend(dwc->usb2_phy, 1);
>>>>>>>>>>+ usb_phy_set_suspend(dwc->usb3_phy, 1);
>>>>>>>>>>+
>>>>>>>>>>+ phy_power_off(dwc->usb2_generic_phy);
>>>>>>>>>>+ phy_power_off(dwc->usb3_generic_phy);
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>We've done these in dwc3_core_exit().
>>>>>>
>>>>>>This is the patch after testing on a Odroid XU4, on top of linux-next
>>>>>>964bcc1b4f57028d56dace7d9bc5924f2eb43f36 which translates to 4.13.0-rc1-next-20170717+
>>>>>>I tested this patch for a week without problems with heavy USB and NIC usage.
>>>>>>Please consider merging it
>>>
>>>Author: Brian Kim <brian.kim@...dkernel.com>
>>>Date: Wed Jul 12 11:26:55 2017 +0800
>>>
>>> usb: dwc3: Fix the USB 3.0 hub detection bug after warm boot
>>> The dwc3 could not release resources when the module is built-in
>>> because this module does not have shutdown method. This causes the USB
>>> 3.0 hub is not able to detect after warm boot.
>>> Original patch by Brian Kim, updated and submitted upstream by gustavo
>>> panizzo.
>>> Also see https://bugs.debian.org/843448
>>> Signed-off-by: Brian Kim <brian.kim@...dkernel.com>
>>> Signed-off-by: gustavo panizzo <gfa@...bi.com.ar>
>>>
>>>diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>>>index 326b302fc440..09de37d47ee7 100644
>>>--- a/drivers/usb/dwc3/core.c
>>>+++ b/drivers/usb/dwc3/core.c
>>>@@ -1259,6 +1259,32 @@ static int dwc3_probe(struct platform_device *pdev)
>>> return ret;
>>>}
>>>
>>>+static void dwc3_shutdown(struct platform_device *pdev)
>>>+{
>>>+ struct dwc3 *dwc = platform_get_drvdata(pdev);
>>>+ struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>>+
>>>+ pm_runtime_get_sync(&pdev->dev);
>>>+ /*
>>>+ * restore res->start back to its original value so that, in case the
>>>+ * probe is deferred, we don't end up getting error in request the
>>>+ * memory region the next time probe is called.
>>>+ */
>>>+ res->start -= DWC3_GLOBALS_REGS_START;
>>>+
>>>+ dwc3_debugfs_exit(dwc);
>>>+ dwc3_core_exit_mode(dwc);
>>>+ dwc3_event_buffers_cleanup(dwc);
>>>+ dwc3_free_event_buffers(dwc);
>>>+
>>>+ dwc3_core_exit(dwc);
>>>+ dwc3_ulpi_exit(dwc);
>>>+
>>>+ pm_runtime_put_sync(&pdev->dev);
>>>+ pm_runtime_allow(&pdev->dev);
>>>+ pm_runtime_disable(&pdev->dev);
>>>+}
>>>+
>>>static int dwc3_remove(struct platform_device *pdev)
>>>{
>>> struct dwc3 *dwc = platform_get_drvdata(pdev);
>>>@@ -1488,6 +1514,7 @@ MODULE_DEVICE_TABLE(acpi, dwc3_acpi_match);
>>>static struct platform_driver dwc3_driver = {
>>> .probe = dwc3_probe,
>>> .remove = dwc3_remove,
>>>+ .shutdown = dwc3_shutdown,
>>> .driver = {
>>> .name = "dwc3",
>>> .of_match_table = of_match_ptr(of_dwc3_match),
>>>
>>>Patch applies cleanly on top of c6be5a0e3cebc145127d46a58350e05d2bcf6323 from linux-next
>>>Can you _please_ merge it?
>>
>>why are you upset? You didn't do the changes I requested until now. It's
>
>I'm not upset
>
>>too late for v4.14 merge window and you didn't even send this as a
>>proper patch. I also have no evidence that you've been testing mainline
>>kernel, the commits you pointed me to are against a v4.9 vendor kernel.
>
>the commit i sent was tested, and is still running, on top linux-next
>964bcc1b4f57028d56dace7d9bc5924f2eb43f36, which gives an uname -r
>4.13.0-rc1-next-20170717+
>
>
>>
>>Test this against a vanilla tree (v4.13 was tagged days ago) and give me
>>logs showing the problem without your commit.
the patch does not work on top of 4.13.0 :(
could you draft a patch i can test?
thanks
>
>dmesg on top of 4.13.0
>
>[ 0.000000] Booting Linux on physical CPU 0x100
>[ 0.000000] random: get_random_bytes called from start_kernel+0x44/0x460 with crng_init=0
>[ 0.000000] Linux version 4.13.0 (root@...oid) (gcc version 6.3.0 20170516 (Debian 6.3.0-18)) #4 SMP Thu Sep 14 21:26:18 UTC 2017
>[ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=30c5387d
>[ 0.000000] CPU: div instructions available: patching division code
>[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
>[ 0.000000] OF: fdt: Machine model: Hardkernel Odroid XU4
>[ 0.000000] Memory policy: Data cache writealloc
>[ 0.000000] efi: Getting EFI parameters from FDT:
>[ 0.000000] efi: UEFI not found.
>[ 0.000000] cma: Reserved 16 MiB at 0x00000000bd800000
>[ 0.000000] Samsung CPU ID: 0xe5422001
>[ 0.000000] On node 0 totalpages: 518656
>[ 0.000000] free_area_init_node: node 0, pgdat c10eca40, node_mem_map eee1c000
>[ 0.000000] DMA zone: 1728 pages used for memmap
>[ 0.000000] DMA zone: 0 pages reserved
>[ 0.000000] DMA zone: 196608 pages, LIFO batch:31
>[ 0.000000] HighMem zone: 322048 pages, LIFO batch:31
>[ 0.000000] Running under secure firmware.
>[ 0.000000] percpu: Embedded 17 pages/cpu @eed63000 s37388 r8192 d24052 u69632
>[ 0.000000] pcpu-alloc: s37388 r8192 d24052 u69632 alloc=17*4096
>[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6
>[0] 7 [ 0.000000] Built 1 zonelists in Zone order, mobility
>grouping on. Total pages: 516928
>[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.13.0 root=UUID=e324fffe-f424-4409-952b-c3d1dcf5d4e4 ro quiet
>[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
>[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
>[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
>[ 0.000000] Memory: 2005484K/2074624K available (8192K kernel code, 1055K rwdata, 2368K rodata, 2048K init, 340K bss, 52756K reserved, 16384K cma-reserved, 1271808K highmem)
>[ 0.000000] Virtual kernel memory layout:
> vector : 0xffff0000 - 0xffff1000 ( 4 kB)
> fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
> vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
> lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
> pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
> modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
> .text : 0xc0008000 - 0xc0a00000 (10208 kB)
> .init : 0xc0e00000 - 0xc1000000 (2048 kB)
> .data : 0xc1000000 - 0xc1107eac (1056 kB)
> .bss : 0xc110e9c4 - 0xc1163ce4 ( 341 kB)
>[ 0.000000] ftrace: allocating 31309 entries in 92 pages
>[ 0.000000] Hierarchical RCU implementation.
>[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
>[ 0.000000] GIC: Using split EOI/Deactivate mode
>[ 0.000000] Switching to timer-based delay loop, resolution 41ns
>[ 0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
>[ 0.000008] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
>[ 0.006455] Console: colour dummy device 80x30
>[ 0.006475] console [tty0] enabled
>[ 0.006506] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
>[ 0.006521] pid_max: default: 32768 minimum: 301
>[ 0.006829] Security Framework initialized
>[ 0.006841] Yama: becoming mindful.
>[ 0.006876] AppArmor: AppArmor disabled by boot time parameter
>[ 0.006983] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
>[ 0.007001] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
>[ 0.007920] CPU: Testing write buffer coherency: ok
>[ 0.008736] CPU0: update cpu_capacity 448
>[ 0.008746] CPU0: thread -1, cpu 0, socket 1, mpidr 80000100
>[ 0.009397] Setting up static identity map for 0x40200000 - 0x402000a0
>[ 0.010118] ARM CCI driver probed
>[ 0.010343] Exynos MCPM support installed
>[ 0.012614] Hierarchical SRCU implementation.
>[ 0.016815] EFI services will not be available.
>[ 0.017248] smp: Bringing up secondary CPUs ...
>[ 0.018312] CPU1: update cpu_capacity 448
>[ 0.018321] CPU1: thread -1, cpu 1, socket 1, mpidr 80000101
>[ 0.019423] CPU2: update cpu_capacity 448
>[ 0.019431] CPU2: thread -1, cpu 2, socket 1, mpidr 80000102
>[ 0.020586] CPU3: update cpu_capacity 448
>[ 0.020594] CPU3: thread -1, cpu 3, socket 1, mpidr 80000103
>[ 0.021655] CPU4: update cpu_capacity 1535
>[ 0.021665] CPU4: thread -1, cpu 0, socket 0, mpidr 80000000
>[ 0.022740] CPU5: update cpu_capacity 1535
>[ 0.022749] CPU5: thread -1, cpu 1, socket 0, mpidr 80000001
>[ 0.023829] CPU6: update cpu_capacity 1535
>[ 0.023837] CPU6: thread -1, cpu 2, socket 0, mpidr 80000002
>[ 0.024886] CPU7: update cpu_capacity 1535
>[ 0.024895] CPU7: thread -1, cpu 3, socket 0, mpidr 80000003
>[ 0.025038] smp: Brought up 1 node, 8 CPUs
>[ 0.025053] SMP: Total of 8 processors activated (384.00 BogoMIPS).
>[ 0.025060] CPU: WARNING: CPU(s) started in wrong/inconsistent modes (primary CPU mode 0x1a)
>[ 0.025065] CPU: This may indicate a broken bootloader or firmware.
>[ 0.026740] devtmpfs: initialized
>[ 0.050057] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 3
>[ 0.050507] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
>[ 0.050532] futex hash table entries: 2048 (order: 5, 131072 bytes)
>[ 0.052020] pinctrl core: initialized pinctrl subsystem
>[ 0.054772] DMI not present or invalid.
>[ 0.055272] NET: Registered protocol family 16
>[ 0.058522] DMA: preallocated 256 KiB pool for atomic coherent allocations
>[ 0.064450] No ATAGs?
>[ 0.064785] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
>[ 0.064793] hw-breakpoint: maximum watchpoint size is 8 bytes.
>[ 0.066408] Serial: AMBA PL011 UART driver
>[ 0.107099] EXYNOS5420 PMU initialized
>[ 0.134115] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
>[ 0.144822] vgaarb: loaded
>[ 0.146364] s3c-i2c 12c80000.i2c: slave address 0x00
>[ 0.146379] s3c-i2c 12c80000.i2c: bus frequency set to 65 KHz
>[ 0.146942] s3c-i2c 12c80000.i2c: i2c-2: S3C I2C adapter
>[ 0.147966] media: Linux media interface: v0.10
>[ 0.148032] Linux video capture interface: v2.00
>[ 0.148127] pps_core: LinuxPPS API ver. 1 registered
>[ 0.148133] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@...ux.it>
>[ 0.148158] PTP clock support registered
>[ 0.148335] dmi: Firmware registration failed.
>[ 0.150575] clocksource: Switched to clocksource mct-frc
>[ 0.235367] VFS: Disk quotas dquot_6.6.0
>[ 0.235492] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
>[ 0.255329] NET: Registered protocol family 2
>[ 0.256327] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
>[ 0.256440] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
>[ 0.256618] TCP: Hash tables configured (established 8192 bind 8192)
>[ 0.256862] UDP hash table entries: 512 (order: 2, 16384 bytes)
>[ 0.256912] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
>[ 0.257350] NET: Registered protocol family 1
>[ 0.257393] PCI: CLS 0 bytes, default 64
>[ 0.258066] Unpacking initramfs...
>[ 1.711221] Freeing initrd memory: 17084K
>[ 1.711423] kvm [1]: HYP mode not available
>[ 1.715471] audit: initializing netlink subsys (disabled)
>[ 1.715807] audit: type=2000 audit(1.715:1): state=initialized audit_enabled=0 res=1
>[ 1.716609] workingset: timestamp_bits=14 max_order=19 bucket_order=5
>[ 1.717069] zbud: loaded
>[ 1.718197] random: fast init done
>[ 1.740653] bounce: pool size: 64 pages
>[ 1.740756] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
>[ 1.740993] io scheduler noop registered
>[ 1.741001] io scheduler deadline registered
>[ 1.741117] io scheduler cfq registered (default)
>[ 1.741124] io scheduler mq-deadline registered
>[ 1.741130] io scheduler kyber registered
>[ 1.765856] dma-pl330 121a0000.pdma: Loaded driver for PL330 DMAC-241330
>[ 1.765872] dma-pl330 121a0000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
>[ 1.770478] dma-pl330 121b0000.pdma: Loaded driver for PL330 DMAC-241330
>[ 1.770491] dma-pl330 121b0000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
>[ 1.772124] dma-pl330 10800000.mdma: Loaded driver for PL330 DMAC-241330
>[ 1.772138] dma-pl330 10800000.mdma: DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32
>[ 1.775853] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
>[ 1.778995] Serial: AMBA driver
>[ 1.779324] 12c00000.serial: ttySAC0 at MMIO 0x12c00000 (irq = 58, base_baud = 0) is a S3C6400/10
>[ 1.779883] 12c10000.serial: ttySAC1 at MMIO 0x12c10000 (irq = 59, base_baud = 0) is a S3C6400/10
>[ 1.780402] 12c20000.serial: ttySAC2 at MMIO 0x12c20000 (irq = 60, base_baud = 0) is a S3C6400/10
>[ 1.787604] console [ttySAC2] enabled
>[ 1.788182] 12c30000.serial: ttySAC3 at MMIO 0x12c30000 (irq = 61, base_baud = 0) is a S3C6400/10
>[ 1.794995] libphy: Fixed MDIO Bus: probed
>[ 1.796596] mousedev: PS/2 mouse device common for all mice
>[ 1.807034] ledtrig-cpu: registered to indicate activity on CPUs
>[ 1.808763] NET: Registered protocol family 10
>[ 1.809956] Segment Routing with IPv6
>[ 1.810030] mip6: Mobile IPv6
>[ 1.810045] NET: Registered protocol family 17
>[ 1.810062] mpls_gso: MPLS GSO support
>[ 1.810793] ThumbEE CPU extension supported.
>[ 1.810809] Registering SWP/SWPB emulation handler
>[ 1.811731] registered taskstats version 1
>[ 1.811847] zswap: loaded using pool lzo/zbud
>[ 1.812365] ima: No TPM chip found, activating TPM-bypass! (rc=-19)
>[ 1.847540] hctosys: unable to open rtc device (rtc0)
>[ 1.847552] sr_init: No PMIC hook to init smartreflex
>[ 1.848009] sr_init: platform driver register failed for SR
>[ 1.852373] PM: Hibernation image not present or could not be loaded.
>[ 1.857892] Freeing unused kernel memory: 2048K
>[ 2.186876] exynos5_usb3drd_phy 12100000.phy: 12100000.phy supply vbus not found, using dummy regulator
>[ 2.186977] exynos5_usb3drd_phy 12100000.phy: 12100000.phy supply vbus-boost not found, using dummy regulator
>[ 2.187954] samsung-usb2-phy 12130000.phy: 12130000.phy supply vbus not found, using dummy regulator
>[ 2.191779] exynos5_usb3drd_phy 12500000.phy: 12500000.phy supply vbus not found, using dummy regulator
>[ 2.191888] exynos5_usb3drd_phy 12500000.phy: 12500000.phy supply vbus-boost not found, using dummy regulator
>[ 2.192403] usbcore: registered new interface driver usbfs
>[ 2.192536] usbcore: registered new interface driver hub
>[ 2.192842] Synopsys Designware Multimedia Card Interface Driver
>[ 2.196551] usbcore: registered new device driver usb
>[ 2.198835] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>[ 2.199667] ehci-exynos: EHCI EXYNOS driver
>[ 2.199899] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.201019] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.201040] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.201111] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.201571] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
>[ 2.201985] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.202226] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.202244] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.202300] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.202845] ohci-exynos: OHCI EXYNOS driver
>[ 2.202903] exynos-ehci 12110000.usb: EHCI Host Controller
>[ 2.202946] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1
>[ 2.203715] exynos-ehci 12110000.usb: irq 71, io mem 0x12110000
>[ 2.240671] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00
>[ 2.241055] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
>[ 2.241068] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
>[ 2.241079] usb usb1: Product: EHCI Host Controller
>[ 2.241089] usb usb1: Manufacturer: Linux 4.13.0 ehci_hcd
>[ 2.241105] usb usb1: SerialNumber: 12110000.usb
>[ 2.241995] hub 1-0:1.0: USB hub found
>[ 2.242051] hub 1-0:1.0: 3 ports detected
>[ 2.243993] exynos-ohci 12120000.usb: USB Host Controller
>[ 2.244042] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2
>[ 2.244801] exynos-ohci 12120000.usb: irq 71, io mem 0x12120000
>[ 2.246865] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.247123] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.247141] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.247177] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.248434] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.248478] alloc_contig_range: [bd847, bd848) PFNs busy
>[ 2.248630] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.248647] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.248678] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.315065] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
>[ 2.315083] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
>[ 2.315092] usb usb2: Product: USB Host Controller
>[ 2.315101] usb usb2: Manufacturer: Linux 4.13.0 ohci_hcd
>[ 2.315109] usb usb2: SerialNumber: 12120000.usb
>[ 2.316236] hub 2-0:1.0: USB hub found
>[ 2.316297] hub 2-0:1.0: 3 ports detected
>[ 2.320930] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.321111] alloc_contig_range: [bd847, bd848) PFNs busy
>[ 2.321303] alloc_contig_range: [bd848, bd849) PFNs busy
>[ 2.321515] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.321532] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.321576] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.323046] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.323130] alloc_contig_range: [bd847, bd848) PFNs busy
>[ 2.323286] alloc_contig_range: [bd848, bd849) PFNs busy
>[ 2.323392] alloc_contig_range: [bd849, bd84a) PFNs busy
>[ 2.323612] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.323630] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.323674] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.329150] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.329277] alloc_contig_range: [bd847, bd848) PFNs busy
>[ 2.329543] alloc_contig_range: [bd848, bd849) PFNs busy
>[ 2.329694] alloc_contig_range: [bd849, bd84a) PFNs busy
>[ 2.329798] alloc_contig_range: [bd84a, bd84b) PFNs busy
>[ 2.330041] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.330060] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.330106] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.331896] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.332666] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.332687] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.332750] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.337788] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.338755] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.338776] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.338820] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.340476] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.341459] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.341479] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.341522] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.344020] s5m-rtc s2mps14-rtc: rtc core: registered s5m-rtc as rtc0
>[ 2.350305] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.351366] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.351386] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.351433] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.352841] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.353824] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.353842] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.353879] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.410684] vdd_ldo9: Bringing 3300000uV into 3000000-3000000uV
>[ 2.419750] vddq_mmc2: Bringing 3300000uV into 2800000-2800000uV
>[ 2.424845] vdd_ldo15: Bringing 3300000uV into 3100000-3100000uV
>[ 2.433471] vdd_sd: Bringing 3300000uV into 2800000-2800000uV
>[ 2.495679] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode.
>[ 2.496173] dwmmc_exynos 12200000.mmc: Using internal DMA controller.
>[ 2.496198] dwmmc_exynos 12200000.mmc: Version ID is 250a
>[ 2.496240] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 73,64 bit host data width,64 deep fifo
>[ 2.496703] dwmmc_exynos 12200000.mmc: allocated mmc-pwrseq
>[ 2.508975] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
>[ 2.509176] usb_phy_generic usb_phy_generic.1.auto: usb_phy_generic.1.auto supply vcc not found, using dummy regulator
>[ 2.509387] usb_phy_generic usb_phy_generic.2.auto: usb_phy_generic.2.auto supply vcc not found, using dummy regulator
>[ 2.509570] usb_phy_generic usb_phy_generic.3.auto: usb_phy_generic.3.auto supply vcc not found, using dummy regulator
>[ 2.530849] xhci-hcd xhci-hcd.4.auto: xHCI Host Controller
>[ 2.530888] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 3
>[ 2.531903] xhci-hcd xhci-hcd.4.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x02010010
>[ 2.531961] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
>[ 2.531975] xhci-hcd xhci-hcd.4.auto: irq 135, io mem 0x12000000
>[ 2.532262] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
>[ 2.532275] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
>[ 2.532285] usb usb3: Product: xHCI Host Controller
>[ 2.532296] usb usb3: Manufacturer: Linux 4.13.0 xhci-hcd
>[ 2.532306] usb usb3: SerialNumber: xhci-hcd.4.auto
>[ 2.533135] hub 3-0:1.0: USB hub found
>[ 2.533191] hub 3-0:1.0: 1 port detected
>[ 2.533704] xhci-hcd xhci-hcd.4.auto: xHCI Host Controller
>[ 2.533731] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 4
>[ 2.533857] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
>[ 2.534067] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
>[ 2.534079] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
>[ 2.534089] usb usb4: Product: xHCI Host Controller
>[ 2.534100] usb usb4: Manufacturer: Linux 4.13.0 xhci-hcd
>[ 2.534109] usb usb4: SerialNumber: xhci-hcd.4.auto
>[ 2.534959] hub 4-0:1.0: USB hub found
>[ 2.535011] hub 4-0:1.0: 1 port detected
>[ 2.535625] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
>[ 2.535658] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 5
>[ 2.536504] xhci-hcd xhci-hcd.5.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x02010010
>[ 2.536564] xhci-hcd xhci-hcd.5.auto: irq 136, io mem 0x12400000
>[ 2.536828] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002
>[ 2.536840] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
>[ 2.536851] usb usb5: Product: xHCI Host Controller
>[ 2.536861] usb usb5: Manufacturer: Linux 4.13.0 xhci-hcd
>[ 2.536871] usb usb5: SerialNumber: xhci-hcd.5.auto
>[ 2.537671] hub 5-0:1.0: USB hub found
>[ 2.537733] hub 5-0:1.0: 1 port detected
>[ 2.538240] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
>[ 2.538266] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 6
>[ 2.538390] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM.
>[ 2.538597] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003
>[ 2.538610] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
>[ 2.538620] usb usb6: Product: xHCI Host Controller
>[ 2.538630] usb usb6: Manufacturer: Linux 4.13.0 xhci-hcd
>[ 2.538640] usb usb6: SerialNumber: xhci-hcd.5.auto
>[ 2.539458] hub 6-0:1.0: USB hub found
>[ 2.539512] hub 6-0:1.0: 1 port detected
>[ 2.572040] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode.
>[ 2.572321] dwmmc_exynos 12220000.mmc: Using internal DMA controller.
>[ 2.572339] dwmmc_exynos 12220000.mmc: Version ID is 250a
>[ 2.572377] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 74,64 bit host data width,64 deep fifo
>[ 2.601175] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)
>[ 2.632080] exynos-tmu 10060000.tmu: More trip points than supported by this TMU.
>[ 2.632093] exynos-tmu 10060000.tmu: 2 trip points should be configured in polling mode.
>[ 2.679846] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
>[ 2.679973] mmc1: new high speed SDHC card at address 0007
>[ 2.680800] mmcblk1: mmc1:0007 SL16G 14.5 GiB [ 2.682304]
>mmcblk1: p1 p2
>[ 2.770675] usb 1-1: new high-speed USB device number 2 using exynos-ehci
>[ 2.981610] usb 1-1: New USB device found, idVendor=0cf3, idProduct=9271
>[ 2.981627] usb 1-1: New USB device strings: Mfr=16, Product=32, SerialNumber=48
>[ 2.981636] usb 1-1: Product: USB2.0 WLAN
>[ 2.981644] usb 1-1: Manufacturer: ATHEROS
>[ 2.981653] usb 1-1: SerialNumber: 12345
>[ 3.889647] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
>[ 4.545757] systemd[1]: System time before build time, advancing clock.
>[ 4.660348] ip_tables: (C) 2000-2006 Netfilter Core Team
>[ 4.700946] systemd[1]: systemd 232 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
>[ 4.701732] systemd[1]: Detected architecture arm.
>[ 4.702892] systemd[1]: Set hostname to <odroid>.
>[ 5.123925] dma-pl330 3880000.adma: Loaded driver for PL330 DMAC-241330
>[ 5.123941] dma-pl330 3880000.adma: DBUFF-4x8bytes Num_Chans-6 Num_Peri-16 Num_Events-6
>[ 5.294493] systemd[1]: [/etc/systemd/system/transmission-daemon.service.d/override.conf:4] Unknown lvalue 'IOSchedulingClass' in section 'Unit'
>[ 5.294557] systemd[1]: [/etc/systemd/system/transmission-daemon.service.d/override.conf:5] Unknown lvalue 'IOSchedulingPriority' in section 'Unit'
>[ 5.379813] systemd[1]: Created slice User and Session Slice.
>[ 5.380429] systemd[1]: Listening on udev Kernel Socket.
>[ 5.382103] systemd[1]: Listening on LVM2 metadata daemon socket.
>[ 5.383081] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
>[ 5.383504] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
>[ 5.689694] EXT4-fs (mmcblk1p2): re-mounted. Opts: errors=remount-ro
>[ 6.082120] systemd-journald[228]: Received request to flush runtime journal from PID 1
>[ 6.436274] leds_pwm pwmleds: unable to request PWM for blue:heartbeat: -517
>[ 6.450807] pwm-fan pwm-fan: Could not get PWM
>[ 6.517588] s3c2410-wdt 101d0000.watchdog: watchdog inactive, reset disabled, irq disabled
>[ 6.518554] leds_pwm pwmleds: unable to request PWM for blue:heartbeat: -517
>[ 6.524969] pwm-fan pwm-fan: Could not get PWM
>[ 6.811259] OF: graph: no port node found in /soc/hdmi@...30000
>[ 6.818603] [drm] Exynos DRM: using 14450000.mixer device for DMA mapping operations
>[ 6.818788] exynos-drm exynos-drm: bound 14450000.mixer (ops mixer_component_ops [exynosdrm])
>[ 6.818825] exynos-drm exynos-drm: bound 14530000.hdmi (ops hdmi_component_ops [exynosdrm])
>[ 6.818832] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
>[ 6.818837] [drm] No driver support for vblank timestamp query.
>[ 6.819453] [drm] Initialized exynos 1.0.0 20110530 for exynos-drm on minor 0
>[ 6.852126] usb usb3-port1: connect-debounce failed
>[ 6.915842] usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
>[ 6.916088] usbcore: registered new interface driver ath9k_htc
>[ 6.937821] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
>[ 7.071833] ip6_tables: (C) 2000-2006 Netfilter Core Team
>[ 7.112695] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
>[ 7.209229] usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
>[ 7.460216] ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized with 33 credits
>[ 7.693485] ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.4
>[ 7.693494] ath9k_htc 1-1:1.0: FW RMW support: On
>[ 7.693500] ath: EEPROM regdomain: 0x809c
>[ 7.693505] ath: EEPROM indicates we should expect a country code
>[ 7.693511] ath: doing EEPROM country->regdmn map search
>[ 7.693516] ath: country maps to regdmn code: 0x52
>[ 7.693522] ath: Country alpha2 being used: CN
>[ 7.693527] ath: Regpair used: 0x52
>[ 7.713687] ieee80211 phy0: Atheros AR9271 Rev:1
>[ 7.742385] ath9k_htc 1-1:1.0 wlx3c46d81413ac: renamed from wlan0
>[ 8.187265] IPv6: ADDRCONF(NETDEV_UP): wlx3c46d81413ac: link is not ready
>[ 8.752284] random: crng init done
>[ 9.714360] ------------[ cut here ]------------
>[ 9.714533] WARNING: CPU: 0 PID: 0 at net/mac80211/rx.c:629 ieee80211_rx_napi+0x8f4/0xa3c [mac80211]
>[ 9.714538] Modules linked in: arc4 xt_limit xt_comment nf_conntrack_ipv6 nf_defrag_ipv6 xt_conntrack nf_conntrack libcrc32c ip6table_filter ip6table_mangle ip6table_raw ip6_tables xt_tcpudp xt_owner xt_multiport iptable_filter nls_ascii nls_cp437 vfat ath9k_htc ath9k_common fat ath9k_hw ath mac80211 exynosdrm cfg80211 analogix_dp rfkill drm_kms_helper drm exynos_adc pwm_samsung industrialio s3c2410_wdt pwm_fan leds_pwm cpufreq_dt ledtrig_heartbeat ip_tables x_tables autofs4 crc32c_generic ext4 crc16 mbcache jbd2 fscrypto xhci_plat_hcd xhci_hcd dwc3 udc_core phy_generic clk_s2mps11 s2mps11 dwc3_exynos phy_exynos_mipi_video phy_exynos_dp_video i2c_exynos5 ohci_exynos ohci_hcd ehci_exynos ehci_hcd dw_mmc_exynos dw_mmc_pltfm dw_mmc phy_exynos_usb2 usbcore phy_exynos5_usbdrd
>[ 9.714734] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.13.0 #4
>[ 9.714738] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>[ 9.714767] [<c0237468>] (unwind_backtrace) from [<c0231214>] (show_stack+0x20/0x24)
>[ 9.714783] [<c0231214>] (show_stack) from [<c098e3a0>] (dump_stack+0x90/0xa4)
>[ 9.714795] [<c098e3a0>] (dump_stack) from [<c026d928>] (__warn+0xf8/0x110)
>[ 9.714805] [<c026d928>] (__warn) from [<c026da58>] (warn_slowpath_null+0x30/0x38)
>[ 9.714861] [<c026da58>] (warn_slowpath_null) from [<bf67a7c8>] (ieee80211_rx_napi+0x8f4/0xa3c [mac80211])
>[ 9.714951] [<bf67a7c8>] (ieee80211_rx_napi [mac80211]) from [<bf7b3afc>] (ath9k_rx_tasklet+0x180/0x1d8 [ath9k_htc])
>[ 9.714976] [<bf7b3afc>] (ath9k_rx_tasklet [ath9k_htc]) from [<c0274880>] (tasklet_action+0x68/0xf8)
>[ 9.714988] [<c0274880>] (tasklet_action) from [<c0201c2c>] (__do_softirq+0x12c/0x358)
>[ 9.714998] [<c0201c2c>] (__do_softirq) from [<c0274288>] (irq_exit+0xe8/0x150)
>[ 9.715009] [<c0274288>] (irq_exit) from [<c02d4bac>] (__handle_domain_irq+0x70/0xc4)
>[ 9.715019] [<c02d4bac>] (__handle_domain_irq) from [<c0201864>] (gic_handle_irq+0x58/0x94)
>[ 9.715032] [<c0201864>] (gic_handle_irq) from [<c09ad578>] (__irq_svc+0x58/0x74)
>[ 9.715038] Exception stack(0xc1001ed8 to 0xc1001f20)
>[ 9.715044] 1ec0: 00000000 0001407c
>[ 9.715053] 1ee0: 2de57000 c0244460 c1000000 c1004e70 c1004e0c c10ef48d c0b59a18 00000001
>[ 9.715061] 1f00: c1004dd8 c1001f34 c1001f38 c1001f28 c022d2f8 c022d2fc 60000013 ffffffff
>[ 9.715077] [<c09ad578>] (__irq_svc) from [<c022d2fc>] (arch_cpu_idle+0x48/0x4c)
>[ 9.715087] [<c022d2fc>] (arch_cpu_idle) from [<c09ab960>] (default_idle_call+0x30/0x3c)
>[ 9.715100] [<c09ab960>] (default_idle_call) from [<c02b74f8>] (do_idle+0xdc/0x14c)
>[ 9.715110] [<c02b74f8>] (do_idle) from [<c02b7828>] (cpu_startup_entry+0x28/0x2c)
>[ 9.715125] [<c02b7828>] (cpu_startup_entry) from [<c09a4de8>] (rest_init+0xd4/0xd8)
>[ 9.715136] [<c09a4de8>] (rest_init) from [<c0e00ec0>] (start_kernel+0x440/0x460)
>[ 9.715143] ---[ end trace 28d47b3fad78f4a4 ]---
>[ 10.023810] wlx3c46d81413ac: authenticate with 4c:5e:0c:3d:39:39
>[ 10.214671] wlx3c46d81413ac: send auth to 4c:5e:0c:3d:39:39 (try 1/3)
>[ 10.216759] wlx3c46d81413ac: authenticated
>[ 10.220697] wlx3c46d81413ac: associate with 4c:5e:0c:3d:39:39 (try 1/3)
>[ 10.224247] wlx3c46d81413ac: RX AssocResp from 4c:5e:0c:3d:39:39 (capab=0x431 status=0 aid=2)
>[ 10.230359] wlx3c46d81413ac: associated
>[ 10.230453] IPv6: ADDRCONF(NETDEV_CHANGE): wlx3c46d81413ac: link becomes ready
>
># lsusb -vv
>Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 3.00
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 3 bMaxPacketSize0 9
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0003 3.0 root hub
> bcdDevice 4.13
> iManufacturer 3 Linux 4.13.0 xhci-hcd
> iProduct 2 xHCI Host Controller
> iSerial 1 xhci-hcd.5.auto
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 31
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0xe0
> Self Powered
> Remote Wakeup
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 9 Hub
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0 Full speed (or root) hub
> iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0004 1x 4 bytes
> bInterval 12
> bMaxBurst 0
>Hub Descriptor:
> bLength 12
> bDescriptorType 42
> nNbrPorts 1
> wHubCharacteristic 0x0009
> Per-port power switching
> Per-port overcurrent protection
> bPwrOn2PwrGood 10 * 2 milli seconds
> bHubContrCurrent 0 milli Ampere
> bHubDecLat 0.0 micro seconds
> wHubDelay 0 nano seconds
> DeviceRemovable 0x00
>Hub Port Status:
> Port 1: 0000.02a0 5Gbps power Rx.Detect
>Binary Object Store Descriptor:
> bLength 5
> bDescriptorType 15
> wTotalLength 15
> bNumDeviceCaps 1
> SuperSpeed USB Device Capability:
> bLength 10
> bDescriptorType 16
> bDevCapabilityType 3
> bmAttributes 0x02
> Latency Tolerance Messages (LTM) Supported
> wSpeedsSupported 0x0008
> Device can operate at SuperSpeed (5Gbps)
> bFunctionalitySupport 3
> Lowest fully-functional device speed is SuperSpeed (5Gbps)
> bU1DevExitLat 0 micro seconds
> bU2DevExitLat 0 micro seconds
>Device Status: 0x0001
> Self Powered
>
>Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 1 Single TT
> bMaxPacketSize0 64
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0002 2.0 root hub
> bcdDevice 4.13
> iManufacturer 3 Linux 4.13.0 xhci-hcd
> iProduct 2 xHCI Host Controller
> iSerial 1 xhci-hcd.5.auto
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 25
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0xe0
> Self Powered
> Remote Wakeup
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 9 Hub
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0 Full speed (or root) hub
> iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0004 1x 4 bytes
> bInterval 12
>Hub Descriptor:
> bLength 9
> bDescriptorType 41
> nNbrPorts 1
> wHubCharacteristic 0x0009
> Per-port power switching
> Per-port overcurrent protection
> TT think time 8 FS bits
> bPwrOn2PwrGood 10 * 2 milli seconds
> bHubContrCurrent 0 milli Ampere
> DeviceRemovable 0x00
> PortPwrCtrlMask 0xff
>Hub Port Status:
> Port 1: 0001.0101 C_CONNECT power connect
>Device Status: 0x0001
> Self Powered
>
>Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 3.00
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 3 bMaxPacketSize0 9
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0003 3.0 root hub
> bcdDevice 4.13
> iManufacturer 3 Linux 4.13.0 xhci-hcd
> iProduct 2 xHCI Host Controller
> iSerial 1 xhci-hcd.4.auto
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 31
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0xe0
> Self Powered
> Remote Wakeup
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 9 Hub
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0 Full speed (or root) hub
> iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0004 1x 4 bytes
> bInterval 12
> bMaxBurst 0
>Hub Descriptor:
> bLength 12
> bDescriptorType 42
> nNbrPorts 1
> wHubCharacteristic 0x0009
> Per-port power switching
> Per-port overcurrent protection
> bPwrOn2PwrGood 10 * 2 milli seconds
> bHubContrCurrent 0 milli Ampere
> bHubDecLat 0.0 micro seconds
> wHubDelay 0 nano seconds
> DeviceRemovable 0x00
>Hub Port Status:
> Port 1: 0000.02a0 5Gbps power Rx.Detect
>Binary Object Store Descriptor:
> bLength 5
> bDescriptorType 15
> wTotalLength 15
> bNumDeviceCaps 1
> SuperSpeed USB Device Capability:
> bLength 10
> bDescriptorType 16
> bDevCapabilityType 3
> bmAttributes 0x02
> Latency Tolerance Messages (LTM) Supported
> wSpeedsSupported 0x0008
> Device can operate at SuperSpeed (5Gbps)
> bFunctionalitySupport 3
> Lowest fully-functional device speed is SuperSpeed (5Gbps)
> bU1DevExitLat 0 micro seconds
> bU2DevExitLat 0 micro seconds
>Device Status: 0x0001
> Self Powered
>
>Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 1 Single TT
> bMaxPacketSize0 64
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0002 2.0 root hub
> bcdDevice 4.13
> iManufacturer 3 Linux 4.13.0 xhci-hcd
> iProduct 2 xHCI Host Controller
> iSerial 1 xhci-hcd.4.auto
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 25
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0xe0
> Self Powered
> Remote Wakeup
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 9 Hub
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0 Full speed (or root) hub
> iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0004 1x 4 bytes
> bInterval 12
>Hub Descriptor:
> bLength 9
> bDescriptorType 41
> nNbrPorts 1
> wHubCharacteristic 0x0009
> Per-port power switching
> Per-port overcurrent protection
> TT think time 8 FS bits
> bPwrOn2PwrGood 10 * 2 milli seconds
> bHubContrCurrent 0 milli Ampere
> DeviceRemovable 0x00
> PortPwrCtrlMask 0xff
>Hub Port Status:
> Port 1: 0001.0101 C_CONNECT power connect
>Device Status: 0x0001
> Self Powered
>
>Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 1.10
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 0 Full speed (or root) hub
> bMaxPacketSize0 64
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0001 1.1 root hub
> bcdDevice 4.13
> iManufacturer 3 Linux 4.13.0 ohci_hcd
> iProduct 2 USB Host Controller
> iSerial 1 12120000.usb
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 25
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0xe0
> Self Powered
> Remote Wakeup
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 9 Hub
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0 Full speed (or root) hub
> iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0002 1x 2 bytes
> bInterval 255
>Hub Descriptor:
> bLength 9
> bDescriptorType 41
> nNbrPorts 3
> wHubCharacteristic 0x0002
> No power switching (usb 1.0)
> Ganged overcurrent protection
> bPwrOn2PwrGood 2 * 2 milli seconds
> bHubContrCurrent 0 milli Ampere
> DeviceRemovable 0x00
> PortPwrCtrlMask 0xff
>Hub Port Status:
> Port 1: 0000.0100 power
> Port 2: 0000.0100 power
> Port 3: 0000.0100 power
>Device Status: 0x0001
> Self Powered
>
>Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 255 Vendor Specific Subclass
> bDeviceProtocol 255 Vendor Specific Protocol
> bMaxPacketSize0 64
> idVendor 0x0cf3 Atheros Communications, Inc.
> idProduct 0x9271 AR9271 802.11n
> bcdDevice 1.08
> iManufacturer 16 ATHEROS
> iProduct 32 USB2.0 WLAN
> iSerial 48 12345
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 60
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0x80
> (Bus Powered)
> MaxPower 500mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 6
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 0 bInterfaceProtocol 0
>iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 1
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x04 EP 4 OUT
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 1
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x05 EP 5 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x06 EP 6 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
>Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 255 Vendor Specific Subclass
> bDeviceProtocol 255 Vendor Specific Protocol
> bMaxPacketSize0 64
> bNumConfigurations 1
>Device Status: 0x0000
> (Bus Powered)
>
>Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>
>
># the first time i ran lsusb -vv it hang here until i canceled it, #
>the second time it ran fine
># after another reboot, i left lsusb to run and it eventually
>finished, # 5 or so minutes after
>
>Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 9 Hub
> bDeviceSubClass 0 Unused
> bDeviceProtocol 0 Full speed (or root) hub
> bMaxPacketSize0 64
> idVendor 0x1d6b Linux Foundation
> idProduct 0x0002 2.0 root hub
> bcdDevice 4.13
> iManufacturer 3 Linux 4.13.0 ehci_hcd
> iProduct 2 EHCI Host Controller
> iSerial 1 12110000.usb
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 25
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0 bmAttributes 0xe0
> Self Powered
> Remote Wakeup
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 9 Hub
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0 Full speed (or root) hub
> iInterface 0 Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0004 1x 4 bytes
> bInterval 12
>Hub Descriptor:
> bLength 9
> bDescriptorType 41
> nNbrPorts 3
> wHubCharacteristic 0x0009
> Per-port power switching
> Per-port overcurrent protection
> bPwrOn2PwrGood 10 * 2 milli seconds
> bHubContrCurrent 0 milli Ampere
> DeviceRemovable 0x00
> PortPwrCtrlMask 0xff
>Hub Port Status:
> Port 1: 0000.0503 highspeed power enable connect
> Port 2: 0000.0100 power
> Port 3: 0000.0100 power
>Device Status: 0x0001
> Self Powered
>
>>
>>Also, the commit you pointed me to couldn't be the culprit: we didn't
>>have a ->shutdown() before and that commit didn't change that. All that
>>commit did was extract some code to helper functions which would be
>>reused.
>>
>>On top of all that, Brian's commit merely duplicates the ->remove()
>>method as ->shutdown(), we don't want duplicated code, sorry.
>
>I'm OK testing patches to help finding a long-term, good-solution to the warm boot
>problem (or others in this platform)
>
>>
>>--
>>balbi
>
>
>
>--
>IRC: gfa
>GPG: 0X44BB1BA79F6C6333
>
--
IRC: gfa
GPG: 0X44BB1BA79F6C6333
Powered by blists - more mailing lists