lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ