On Mon, 24 Aug 2020 16:46:22 +0000 Mikolaj Kucharski <[email protected]> wrote:
> On Fri, Aug 21, 2020 at 01:21:28PM +0200, Marcus Glocker wrote: > > On Tue, 18 Aug 2020 15:46:03 +0000 > > Mikolaj Kucharski <[email protected]> wrote: > > > > > On Tue, Aug 18, 2020 at 06:41:13AM +0200, Marcus Glocker wrote: > > > > Could you please also send an lsusb -v of the device? > > > > > > Sure, no problem. > > > > Thanks. > > > > So 55 bytes for your configuration descriptor seems to be the > > correct length. Question is now whether/where/why we did only > > malloc() 32 bytes before for the configuration descriptor ... > > > > Can you please run it again with the following diff applied and > > send me the output? The panic shouldn't happen anymore if we catch > > the right free(). > > I ran following command and it didn't panic the kernel: > > # scanimage -L > device `xerox_mfp:libusb:000:002' is a Samsung M2070 Series > multi-function peripheral > > I think this is part when the problem happens, from dmesg: > > usbd_get_cdesc: index=0, len=32 > wTotalLength free = 55 Ok, as expected. We're allocating 32 bytes from somewhere, and then try to free 55 bytes, which causes the panic finally. Can you please send me a full 'lsusb -v' for all the USB devices on that machine? I would like to understand whether we're mixing up configuration descriptors by any chance ... > and below is full dmesg. System had problably about 5 minutes of > uptime, when I executed above scanimage command. > > 6.7-current (GENERIC.MP) #54: Sun Aug 23 22:21:17 UTC 2020 > > [email protected]:/home/mkucharski/openbsd/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 4259872768 (4062MB) > avail mem = 4115705856 (3925MB) > random: good seed from bootblocks > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xcfe8b020 (13 entries) > bios0: vendor coreboot version "v4.12.0.3" date 07/30/2020 > bios0: PC Engines apu2 > acpi0 at bios0: ACPI 6.0 > acpi0: sleep states S0 S1 S4 S5 > acpi0: tables DSDT FACP SSDT MCFG TPM2 APIC HEST SSDT SSDT DRTM HPET > acpi0: wakeup devices PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) > UOH1(S3) UOH2(S3) UOH3(S3) UOH4(S3) UOH5(S3) UOH6(S3) XHC0(S4) > acpitimer0 at acpi0: 3579545 Hz, 32 bits acpimcfg0 at acpi0 > acpimcfg0: addr 0xf8000000, bus 0-64 > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: AMD GX-412TC SOC, 998.26 MHz, 16-30-01 > cpu0: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT > cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB > 64b/line 16-way L2 cache cpu0: ITLB 32 4KB entries fully associative, > 8 4MB entries fully associative cpu0: DTLB 40 4KB entries fully > associative, 8 4MB entries fully associative cpu0: smt 0, core 0, > package 0 mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed > ranges cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, > IBE cpu1 at mainbus0: apid 1 (application processor) > cpu1: AMD GX-412TC SOC, 998.14 MHz, 16-30-01 > cpu1: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT > cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB > 64b/line 16-way L2 cache cpu1: ITLB 32 4KB entries fully associative, > 8 4MB entries fully associative cpu1: DTLB 40 4KB entries fully > associative, 8 4MB entries fully associative cpu1: smt 0, core 1, > package 0 cpu2 at mainbus0: apid 2 (application processor) cpu2: AMD > GX-412TC SOC, 998.14 MHz, 16-30-01 cpu2: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT > cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB > 64b/line 16-way L2 cache cpu2: ITLB 32 4KB entries fully associative, > 8 4MB entries fully associative cpu2: DTLB 40 4KB entries fully > associative, 8 4MB entries fully associative cpu2: smt 0, core 2, > package 0 cpu3 at mainbus0: apid 3 (application processor) cpu3: AMD > GX-412TC SOC, 998.14 MHz, 16-30-01 cpu3: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT > cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB > 64b/line 16-way L2 cache cpu3: ITLB 32 4KB entries fully associative, > 8 4MB entries fully associative cpu3: DTLB 40 4KB entries fully > associative, 8 4MB entries fully associative cpu3: smt 0, core 3, > package 0 ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 > pins ioapic1 at mainbus0: apid 5 pa 0xfec20000, version 21, 32 pins > acpihpet0 at acpi0: 14318180 Hz acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus -1 (PBR4) > acpiprt2 at acpi0: bus 1 (PBR5) > acpiprt3 at acpi0: bus 2 (PBR6) > acpiprt4 at acpi0: bus 3 (PBR7) > acpiprt5 at acpi0: bus 4 (PBR8) > acpicpu0 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS > acpicpu1 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS > acpicpu2 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS > acpicpu3 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS > acpitz0 at acpi0: critical temperature is 115 degC > acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001 > extent `acpipci0 pcibus' (0x0 - 0xff), flags=0 > extent `acpipci0 pciio' (0x0 - 0xffffffff), flags=0 > 0xcf8 - 0xcff > 0x10000 - 0xffffffff > extent `acpipci0 pcimem' (0x0 - 0xffffffffffffffff), flags=0 > 0x0 - 0x9ffff > 0xe0000 - 0xcfffffff > 0x100000000 - 0xffffffffffffffff > acpicmos0 at acpi0 > amdgpio0 at acpi0 GPIO uid 0 addr 0xfed81500/0x300 irq 7, 184 pins > "PRP0001" at acpi0 not configured > "PRP0001" at acpi0 not configured > "PRP0001" at acpi0 not configured > "PRP0001" at acpi0 not configured > "PRP0001" at acpi0 not configured > "PRP0001" at acpi0 not configured > "BOOT0000" at acpi0 not configured > cpu0: 998 MHz: speeds: 1000 800 600 MHz > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "AMD 16h Root Complex" rev 0x00 > vendor "AMD", unknown product 0x1567 (class system subclass IOMMU, > rev 0x00) at pci0 dev 0 function 2 not configured pchb1 at pci0 dev 2 > function 0 "AMD 16h Host" rev 0x00 ppb0 at pci0 dev 2 function 2 "AMD > 16h PCIE" rev 0x00: msi pci1 at ppb0 bus 1 > em0 at pci1 dev 0 function 0 "Intel I210" rev 0x03: msi, address > 00:0d:b9:55:96:04 ppb1 at pci0 dev 2 function 3 "AMD 16h PCIE" rev > 0x00: msi pci2 at ppb1 bus 2 > em1 at pci2 dev 0 function 0 "Intel I210" rev 0x03: msi, address > 00:0d:b9:55:96:05 ppb2 at pci0 dev 2 function 4 "AMD 16h PCIE" rev > 0x00: msi pci3 at ppb2 bus 3 > em2 at pci3 dev 0 function 0 "Intel I210" rev 0x03: msi, address > 00:0d:b9:55:96:06 ppb3 at pci0 dev 2 function 5 "AMD 16h PCIE" rev > 0x00: msi pci4 at ppb3 bus 4 > athn0 at pci4 dev 0 function 0 "Atheros AR9281" rev 0x01: apic 5 int > 16 athn0: AR9280 rev 2 (2T2R), ROM rev 22, address 04:f0:21:45:6a:c4 > ccp0 at pci0 dev 8 function 0 "AMD 16h Crypto" rev 0x00 > xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x11: msi, xHCI > 1.0 usb0 at xhci0: USB revision 3.0 > uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev > 3.00/1.00 addr 1 ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" > rev 0x40: apic 4 int 19, AHCI 1.3 ahci0: port 0: 6.0Gb/s > scsibus1 at ahci0: 32 targets > sd0 at scsibus1 targ 0 lun 0: <ATA, TS128GMSA370, P122> > naa.57c35481856c8911 sd0: 122104MB, 512 bytes/sector, 250069680 > sectors, thin ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev > 0x39 XXX reg=0xfe02e401 offset=0xc0 pme_d0=1 pme_d1=1 pme_d2=1 > pme_d3hot=1 pme_d3cold=1 * val=0x3e02e401 pme_d0=1 pme_d1=1 pme_d2=1 > pme_d3hot=0 pme_d3cold=0 !! reg=0xfe02e401 reg=0xfe02e401: apic 4 int > 18 usb1 at ehci0: USB revision 2.0 uhub1 at usb1 configuration 1 > interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1 piixpm0 at pci0 > dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x42: SMI iic0 at piixpm0 > iic1 at piixpm0 iic1: addr 0x4c 3e=00 48=00 4a=00 4e=00 fc=00 fe=00 > words 00=ffff 01=ffff 02=ffff 03=ffff 04=ffff 05=ffff 06=ffff 07=ffff > pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11 sdhc0 at > pci0 dev 20 function 7 "AMD Bolton SD/MMC" rev 0x01: apic 4 int 16 > sdhc0: SDHC 2.0, 50 MHz base clock sdmmc0 at sdhc0: 4-bit, sd > high-speed, mmc high-speed, dma pchb2 at pci0 dev 24 function 0 "AMD > 16h Link Cfg" rev 0x00 pchb3 at pci0 dev 24 function 1 "AMD 16h > Address Map" rev 0x00 pchb4 at pci0 dev 24 function 2 "AMD 16h DRAM > Cfg" rev 0x00 km0 at pci0 dev 24 function 3 "AMD 16h Misc Cfg" rev > 0x00 pchb5 at pci0 dev 24 function 4 "AMD 16h CPU Power" rev 0x00 > pchb6 at pci0 dev 24 function 5 "AMD 16h Misc Cfg" rev 0x00 isa0 at > pcib0 isadma0 at isa0 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo > com0: console > com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo > com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > lpt0 at isa0 port 0x378/4 irq 7 > intr_establish: pic ioapic0 pin 7: can't share type 3 with 2 > wbsio0 at isa0 port 0x2e/2: NCT5104D rev 0x53 > vmm0 at mainbus0: SVM/RVI > ulpt0 at uhub0 port 4 configuration 1 interface 1 "Samsung > Electronics Co., Ltd. M2070 Series" rev 2.00/1.00 addr 2 ulpt0: using > bi-directional mode ugen0 at uhub0 port 4 configuration 1 "Samsung > Electronics Co., Ltd. M2070 Series" rev 2.00/1.00 addr 2 uhub2 at > uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices Hub" > rev 2.00/0.18 addr 2 umb0 at uhub2 port 3 configuration 1 interface > 12 "Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm\M-. > Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3 ugen1 at uhub2 port 3 > configuration 1 "Sierra Wireless, Incorporated Sierra Wireless MC7455 > Qualcomm\M-. Snapdragon? X7 LTE-A" rev 2.10/0.06 addr 3 vscsi0 at > root scsibus2 at vscsi0: 256 targets softraid0 at root scsibus3 at > softraid0: 256 targets root on sd0a (f4c61a8acb9563fd.a) swap on sd0b > dump on sd0b Process (pid 1) got signal 31 usbd_get_cdesc: current, > len=25 usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=55 > usbd_get_cdesc: current, len=55 > wTotalLength free = 55 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=216 > usbd_get_cdesc: current, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=32 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: current, len=25 > usbd_get_cdesc: current, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=55 > wTotalLength free = 55 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=25 > wTotalLength free = 25 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > usbd_get_cdesc: index=0, len=216 > wTotalLength free = 216 > > > > > > pkg_add usbutils > > > > lsusb > > > > lsusb -d <vendor_id>:<product_id> -v > > > > > > # lsusb -v -d 04e8:3469 > > > Bus 000 Device 002: ID 04e8:3469 Samsung Electronics Co., Ltd > > > Device Descriptor: > > > bLength 18 > > > bDescriptorType 1 > > > bcdUSB 2.00 > > > bDeviceClass 0 (Defined at Interface level) > > > bDeviceSubClass 0 > > > bDeviceProtocol 0 > > > bMaxPacketSize0 64 > > > idVendor 0x04e8 Samsung Electronics Co., Ltd > > > idProduct 0x3469 > > > bcdDevice 1.00 > > > iManufacturer 1 Samsung Electronics Co., Ltd. > > > iProduct 2 M2070 Series > > > iSerial 3 ZF46B8KM2D02Z1A > > > bNumConfigurations 1 > > > Configuration Descriptor: > > > bLength 9 > > > bDescriptorType 2 > > > wTotalLength 55 > > > bNumInterfaces 2 > > > bConfigurationValue 1 > > > iConfiguration 0 > > > bmAttributes 0xc0 > > > Self Powered > > > MaxPower 2mA > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 0 > > > bAlternateSetting 0 > > > bNumEndpoints 2 > > > bInterfaceClass 255 Vendor Specific Class > > > bInterfaceSubClass 255 Vendor Specific Subclass > > > bInterfaceProtocol 255 Vendor Specific Protocol > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x04 EP 4 OUT > > > bmAttributes 2 > > > Transfer Type Bulk > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0200 1x 512 bytes > > > bInterval 10 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x83 EP 3 IN > > > bmAttributes 2 > > > Transfer Type Bulk > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0200 1x 512 bytes > > > bInterval 10 > > > Interface Descriptor: > > > bLength 9 > > > bDescriptorType 4 > > > bInterfaceNumber 1 > > > bAlternateSetting 0 > > > bNumEndpoints 2 > > > bInterfaceClass 7 Printer > > > bInterfaceSubClass 1 Printer > > > bInterfaceProtocol 2 Bidirectional > > > iInterface 0 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x02 EP 2 OUT > > > bmAttributes 2 > > > Transfer Type Bulk > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0200 1x 512 bytes > > > bInterval 10 > > > Endpoint Descriptor: > > > bLength 7 > > > bDescriptorType 5 > > > bEndpointAddress 0x81 EP 1 IN > > > bmAttributes 2 > > > Transfer Type Bulk > > > Synch Type None > > > Usage Type Data > > > wMaxPacketSize 0x0200 1x 512 bytes > > > bInterval 10 > > > Device Qualifier (for other device speed): > > > bLength 10 > > > bDescriptorType 6 > > > bcdUSB 2.00 > > > bDeviceClass 0 (Defined at Interface level) > > > bDeviceSubClass 0 > > > bDeviceProtocol 0 > > > bMaxPacketSize0 64 > > > bNumConfigurations 1 > > > Device Status: 0x0001 > > > Self Powered > > > > > > > > > Index: sys/dev/usb/usb.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/usb.c,v > > retrieving revision 1.124 > > diff -u -p -u -p -r1.124 usb.c > > --- sys/dev/usb/usb.c 6 Oct 2019 17:11:51 -0000 1.124 > > +++ sys/dev/usb/usb.c 21 Aug 2020 10:53:12 -0000 > > @@ -772,7 +772,8 @@ usbioctl(dev_t devt, u_long cmd, caddr_t > > uio.uio_rw = UIO_READ; > > uio.uio_procp = p; > > error = uiomove((void *)cdesc, len, &uio); > > - free(cdesc, M_TEMP, UGETW(cdesc->wTotalLength)); > > + printf("wTotalLength free = %d\n", > > UGETW(cdesc->wTotalLength)); > > + free(cdesc, M_TEMP, 0); > > return (error); > > } > > > > Index: sys/dev/usb/usb_subr.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/usb_subr.c,v > > retrieving revision 1.151 > > diff -u -p -u -p -r1.151 usb_subr.c > > --- sys/dev/usb/usb_subr.c 31 Jul 2020 10:49:33 -0000 > > 1.151 +++ sys/dev/usb/usb_subr.c 21 Aug 2020 10:53:12 -0000 > > @@ -1376,14 +1376,14 @@ usbd_get_cdesc(struct usbd_device *dev, > > *lenp = len; > > cdesc = malloc(len, M_TEMP, M_WAITOK); > > memcpy(cdesc, tdesc, len); > > - DPRINTFN(5,("%s: current, len=%u\n", __func__, > > len)); > > + printf("%s: current, len=%u\n", __func__, len); > > } else { > > err = usbd_get_desc(dev, UDESC_CONFIG, index, > > USB_CONFIG_DESCRIPTOR_SIZE, &cdescr); > > if (err || cdescr.bDescriptorType != UDESC_CONFIG) > > return (0); > > len = UGETW(cdescr.wTotalLength); > > - DPRINTFN(5,("%s: index=%d, len=%u\n", __func__, > > index, len)); > > + printf("%s: index=%d, len=%u\n", __func__, index, > > len); if (lenp) > > *lenp = len; > > cdesc = malloc(len, M_TEMP, M_WAITOK); > -- [ Marcus Glocker, [email protected], http://nazgul.ch ]
