From owner-freebsd-usb@FreeBSD.ORG Sun Apr 22 08:31:56 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AD7D916A401; Sun, 22 Apr 2007 08:31:56 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 85ECF13C44C; Sun, 22 Apr 2007 08:31:56 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3M8VuA6047321; Sun, 22 Apr 2007 08:31:56 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3M8Vtfp047317; Sun, 22 Apr 2007 08:31:55 GMT (envelope-from linimon) Date: Sun, 22 Apr 2007 08:31:55 GMT From: Mark Linimon Message-Id: <200704220831.l3M8Vtfp047317@freefall.freebsd.org> To: m.henschel@bally-wulff.de, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/110855: ugen: interrupt in msgs are truncated when buffer is full X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Apr 2007 08:31:56 -0000 Synopsis: ugen: interrupt in msgs are truncated when buffer is full State-Changed-From-To: open->closed State-Changed-By: linimon State-Changed-When: Sun Apr 22 08:31:39 UTC 2007 State-Changed-Why: See usb/110856. http://www.freebsd.org/cgi/query-pr.cgi?pr=110855 From owner-freebsd-usb@FreeBSD.ORG Sun Apr 22 08:58:29 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AEA3E16A403; Sun, 22 Apr 2007 08:58:29 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 87A1613C44C; Sun, 22 Apr 2007 08:58:29 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3M8wTOb050212; Sun, 22 Apr 2007 08:58:29 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3M8wT1J050208; Sun, 22 Apr 2007 08:58:29 GMT (envelope-from linimon) Date: Sun, 22 Apr 2007 08:58:29 GMT From: Mark Linimon Message-Id: <200704220858.l3M8wT1J050208@freefall.freebsd.org> To: maurice@clari.net.au, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/110031: usb_interrupt_read does not respect timeout X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Apr 2007 08:58:29 -0000 Synopsis: usb_interrupt_read does not respect timeout State-Changed-From-To: open->closed State-Changed-By: linimon State-Changed-When: Sun Apr 22 08:58:00 UTC 2007 State-Changed-Why: Superseded by usb/110122. http://www.freebsd.org/cgi/query-pr.cgi?pr=110031 From owner-freebsd-usb@FreeBSD.ORG Mon Apr 23 11:08:55 2007 Return-Path: X-Original-To: freebsd-usb@FreeBSD.org Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F21A116A400 for ; Mon, 23 Apr 2007 11:08:55 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id D064513C465 for ; Mon, 23 Apr 2007 11:08:55 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3NB8tWK093302 for ; Mon, 23 Apr 2007 11:08:55 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3NB8sK7093298 for freebsd-usb@FreeBSD.org; Mon, 23 Apr 2007 11:08:54 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 23 Apr 2007 11:08:54 GMT Message-Id: <200704231108.l3NB8sK7093298@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: linimon set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-usb@FreeBSD.org Cc: Subject: Current problem reports assigned to you X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Apr 2007 11:08:56 -0000 Current FreeBSD problem reports Critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o usb/84750 usb [hang] 6-BETA2 reboot/shutdown with root_fs on externa o usb/91629 usb usbd_abort_pipe() may result in infinite loop 2 problems total. Serious problems S Tracker Resp. Description -------------------------------------------------------------------------------- o usb/40792 usb signals lead to data loss on device ugen o usb/46176 usb [panic] umass causes kernel panic if device removed be o i386/46371 usb USB controller cannot be initialized on IBM Netfinity f usb/55555 usb [ums] system freezes with access to /dev/ums0 o bin/57255 usb usbd and multi-function devices o usb/62088 usb [usb] Logitech Cordless/Optical Mouse not working o usb/62309 usb [ugen] [panic] panic: ugen(4) driver o usb/63621 usb [usb] USB MemoryStick Reader stalls/crashes system o usb/69006 usb [patch] Apple Cinema Display hangs USB ports o usb/71155 usb [usb] misbehaving usb-printer hangs processes, causes o usb/73307 usb [panic] Kernel panics on USB disconnect o usb/74771 usb [umass] mounting write-protected umass device as read/ o usb/75705 usb [panic] da0 attach / Optio S4 (with backtrace) o usb/75797 usb 5.3-STABLE(2005 1/4) detect USB headset, But can not f f usb/76204 usb panic while using usb attached modem o usb/76395 usb USB printer does not work, usbdevs says "addr 0 should o usb/77184 usb kernel panic on USB device disconnect o usb/77294 usb ucom + ulpcom panic o usb/77940 usb [patch] [panic] insertion of usb keyboard panics syste f i386/78218 usb [kue] kue not detected on Sony PCG-F370 VAIO o usb/78989 usb please add USB keyboard support to install CD's o usb/79140 usb WD Firewire/USB Combo hangs under load on USB interfac o usb/79269 usb USB ohci da0 plug/unplug causes crashes and lockups. o usb/79287 usb UHCI hang after interrupt transfer o usb/79524 usb printing to Minolta PagePro 1[23]xxW via USB fails wit f usb/79656 usb [usb] RHSC interrupts lost o usb/79722 usb [usb] wrong alignments in ehci.h o usb/80040 usb [hang] Use of sound mixer causes system freeze with ua f usb/80260 usb Travan USB tape drive fails to write o usb/80361 usb mounting of usb-stick fails o usb/80373 usb usb keyboard does not respond o usb/80829 usb possible panic when loading USB-modules o usb/80862 usb [patch] USB locking issues: missing some Giant calls o usb/81308 usb [ugen] [patch] polling a ugen(4) control endpoint caus f usb/82198 usb Panic on attaching of ONKI N-338 USB MP3 player f usb/82272 usb Can not recognize Casio camera EX-Z40 as a umass devic o usb/82350 usb [usb] null pointer dereference in USB stack o usb/82520 usb Reboot when USL101 connected o usb/82569 usb [usb] USB mass storage plug/unplug causes system panic o usb/82660 usb EHCI: I/O stuck in state 'physrd'/panic o usb/83504 usb [usb] SpeedTouch USB stop working on recent current (a o usb/83563 usb [panic] Page Fault while detaching Mpman Usb device o usb/83677 usb [usb] usb controller often not detected (Sun W2100z) o usb/83756 usb Microsoft Intellimouse Explorer 4.0A doesn't work. o usb/83977 usb [ucom] [panic] ucom1: open bulk out error (addr 2): IN o usb/84326 usb [umass] Panic trying to connect SCSI tape drive via US o usb/84336 usb [usb] [reboot] instant system reboot when unmounting a o usb/84936 usb install - usb keyboard not recognized o usb/86031 usb need support usb nic rt2500 in my 5.4 STABLE o usb/86767 usb [usb] bogus "slice starts beyond end of the disk:..." o usb/87099 usb panic: ohci_add_done: addr 0x000d1bf0 not found o usb/87565 usb [PATCH] Support for Vodaphone 3G/UMTS cards o usb/88743 usb [hang] USB makes kernel hang at boot (regression in 6. o usb/88966 usb kldunload ucom.ko returns "Device busy" error. o usb/89003 usb LaCie Firewire drive not properly supported under 6.0 o usb/89218 usb flash disk o usb/89954 usb [usb] USB Disk driver race condition? f usb/89997 usb [umass] [panic] panic on iPod mini detach o usb/90162 usb [usb] [patch] Add support for the MS Wireless USB Mous o usb/90700 usb Kernel panic on connect/mount/use umass device o usb/91238 usb USB tape unit fails to write a second tape file to the o usb/91263 usb [patch] USB quirk needed for Logitec USB Hard disk LHD o usb/91283 usb booting very slow with usb devices connection (regress o usb/91538 usb Unable to print to EPSON CX3500 o usb/91906 usb FreeBSD hangs while booting with USB legacy support on o usb/92052 usb usbd causes defunct process with busy file-handle o kern/92083 usb [ural] [panic] panic using WPA on ural NIC in 6.0-RELE o usb/92142 usb SET_ADDR_FAILED and SHORT_XFER errors from usb drivers o usb/92171 usb [panic] panic unplugging Vodafone Mobile Connect (UMTS o usb/93155 usb /dev/ulpt0: device busy USB printer does not work o usb/93408 usb hw.acpi.cpu.cx_lowest=C3 on AMD Turion causes choppy m f usb/93496 usb USB2.0 umass stalls on VIA o usb/93640 usb device ehci causes interrupt storm on this MSI amd64 m o usb/93828 usb ohci causes panic on boot (HP Pavillion d4100e) o usb/93949 usb ugen(4)-related repeatable kernel panic in 6.1-PRERELE o usb/94166 usb btx halted with a flashcard plugged o usb/94384 usb kernel panic with usb2 hardware o usb/94717 usb Reading from /dev/ulpt can break work of a UHCI hub o usb/94742 usb [umass] [patch] umass driver does not recognise YANO e o usb/94813 usb mounting write-protected umass device freezes computer o usb/94897 usb Kernel Panic when cleanly unmounting USB disk o usb/95131 usb Boot/setup process does not accept key strokes o usb/95348 usb USB keyboard unplug causes noise on screen o usb/95562 usb Write Stress in USB Mass drive cause: [vinvalbuf: dir o usb/95636 usb [boot] 5 minute delay at boot when using VT6205 based o usb/96120 usb USB mouse not always detected o usb/96224 usb [usb] mount_msdosfs cause page fault in syncer process o usb/96457 usb fatback on umass = reboot o usb/97286 usb MS Wireless Intellimouse Explorer 2.0 doesn't work o usb/99431 usb FreeBSD on MSI 6566E (Intel 845E motherboards) doesn't o usb/101096 usb USB WLAN occasionally causes kernel-panics during larg o usb/101752 usb [panic] 6.1-RELEASE kernel panic on usb device inserti o usb/102066 usb [ukbd] usb keyboard and multimedia keys don't work o usb/102096 usb /usr/sbin/usbd does not handle multiple devices in one o i386/103025 usb [USB] the wrong in USB device for freeBSD 6.1 and AMD o usb/104292 usb system lockup on forced umount of usb-storage device o usb/104830 usb system crashes when copying data to umass devices o usb/105186 usb USB 2.0/ehci on FreeBSD 6.2-PRE/AMD64 crashes box o usb/106615 usb uftdi module does not automatically load with the FTDI o usb/106648 usb USB Floppy on D1950 10 min Hang on Insert w/o Floppy D o usb/106832 usb USB HP printer is not detected by kernel when ACPI ena o usb/107101 usb [umass] [patch] Quirk for Denver MP3 player o usb/107116 usb [usb] panic while accessing usb msdos pccard o usb/107128 usb [usb] panic while accessing usb msdos flashkey o usb/107248 usb [PATCH] scsi_da.c quirk for Cowon iAUDIO X5 MP3 player o usb/107446 usb [umass] umass problems (usb and fw disks) o usb/107827 usb [panic] ohci_add_done addr not found o usb/107848 usb problem with samsung flash o usb/107924 usb usbd does not call detach o usb/108097 usb [usbgen] [patch] ADMtek 851X USB-to-LAN adapter o usb/108513 usb umass: Creative MuVo TX FM fails in 6.2-RELEASE (regre o usb/109274 usb [usb] MCP55 USB Controller fails to attach in AMD64 Cu o usb/109397 usb [panic] on boot from USB flash o usb/110122 usb [ugen] [patch] usb_interrupt_read does not respect tim o usb/110856 usb [ugen] [patch] interrupt in msgs are truncated when bu o usb/110988 usb [umass] [patch] Handling of quirk IGNORE_RESIDUE is um o kern/111753 usb [uhid] Replicable system panic involving UHID driver 117 problems total. Non-critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o conf/30929 usb [usb] [patch] use usbd to initialize USB ADSL modem s usb/32653 usb Added patches to improve USB scanner supportOB o usb/40948 usb [usb] USB HP CDW8200 does not work f usb/41415 usb [usb] [patch] Some USB scanners cannot talk to uscanne o usb/48342 usb [PATCH] usbd dynamic device list. o kern/51958 usb [usb] [patch] update for urio driver o kern/52026 usb [usb] feature request: umass driver support for InSyst o usb/53025 usb [ugen] [patch] ugen does not allow O_NONBLOCK for inte o usb/56095 usb [usb] [patch] QUIRK: Apacer Pen Drive fails to work o kern/59698 usb [kbd] [patch] Rework of ukbd HID to AT code translatio f usb/60248 usb [patch] Problem with USB printer HP LaserJet 1300 o usb/61234 usb [usb] [patch] usbhidaction(1) doesn't support using an o usb/63837 usb [uhid] [patch] USB: hid_is_collection() only looks for o kern/65769 usb [usb] Call to tcflush(x, TCIFLUSH) stops input on usb- o kern/66547 usb [usb] Palm Tungsten T USB does not initialize correctl o usb/68232 usb [ugen] [patch] ugen(4) isochronous handling correction o usb/68412 usb [usb] [patch] QUIRK: Philips KEY013 USB MP3 player o usb/70523 usb [usb] [patch] umct sending/receiving wrong characters o usb/70942 usb [usb] Genius Wireless USB mouse: moused doesn't work c o usb/71416 usb [usb] Cryptoflex e-gate USB token (ugen0) detach is no o usb/71417 usb [usb] Cryptoflex e-gate USB token (ugen0) communicatio o usb/71455 usb [usb] Slow USB umass performance of 5.3 o usb/71605 usb [umass] [patch] umass doesn't recognize multiple slots o usb/72380 usb [usb] USB does not work [dual Celeron Abit] o usb/72732 usb [patch] Kyocera 7135 quirk. o usb/72733 usb Kyocera 7135 Palm OS connection problem. o usb/73056 usb [usb] Sun Microsystems Type 6 USB mouse not working in f usb/73553 usb [usb] Microsoft USB Internet Keyboard not recongized o usb/74211 usb USB flash drive causes CAM status 0x4 on 4.10Release f usb/74358 usb [umass] unplugging at boot time an umass device crashe o usb/74453 usb Q-lity CD-RW USB ECW-043 (ScanLogic SL11R chipset) doe o usb/74557 usb imation 500mb usb key can only be written halfway on f o usb/74609 usb [usb] [patch] allowing cdma modems to work at full spe o usb/74849 usb [usb] [patch] Samsung SPH-i500 does not attach properl o usb/74880 usb [usb] [patch] Samsung N400 cellphone/acm fails to atac o kern/75764 usb [umass] [patch] "umass0: Phase Error" - no device for o usb/75800 usb ucom1: init failed STALLED error in time of sync with o usb/75928 usb Cytronix SmartMedia card (SMC) reader has problems whe o usb/76461 usb [umass] disklabel of umass(4)-CAM(4)-da(4) not used by o usb/76732 usb Mouse problems with USB KVM Switch f usb/78371 usb Philips Wearable Audio Player (128) fails to attach f usb/78984 usb Creative MUVO umass failure o usb/79723 usb [usb] prepare for high speed isochronous transfers o usb/79725 usb [usb] [patch] USB device speed is not double-checked o usb/79893 usb [umass] [patch] new usbdevs/umass quirks derived from o usb/80010 usb [aue] [patch] add support for the AEI USB to LAN adapt f usb/80773 usb "usbd_get_string()" could have taken a length paramete o usb/80774 usb have "usbd_find_desc" in line with the other "usbd_fin o usb/80776 usb [udav] UDAV device driver shouldn't use usb_add_task o usb/80777 usb usb_rem_task() should wait for callback to complete? o usb/80854 usb suggestion for new iface-no-probe mechanism o usb/80935 usb uvisor.c is not work with CLIE TH55. o usb/81191 usb Support for Curitel HX-550C USB modem to 5.4 RELEASE. f usb/81621 usb external hd hangs under load on ehci o usb/82436 usb [patch] USL101 Host-to-Host bridge support on FreeBSD o usb/83022 usb ALI USB 2.0 EHCI Controller is not detected o usb/83863 usb Communication problem between opensc/openct via USB wi o usb/85067 usb Cannot attach ScanJet 4300C to usb device o usb/85992 usb [uhid] [patch] USB stops working when trying to read f o usb/86195 usb [patch] allow USB Ethernet Adaptor "ELECOM LD-USB20" t o usb/86298 usb Known good USB mouse won't work with correct settings o usb/86438 usb Fix for non-working iPod over USB is in NetBSD CVS o usb/87224 usb Cannot mount USB Zip750 o usb/87648 usb [mouse] Logitech USB-optical mouse problem. o usb/88408 usb [axe] axe0 read PHY failed o usb/88939 usb Fix cheapy Myson USB-IDE adapter f usb/89087 usb usb external harddrive hangs with BBB reset failed, TI f usb/91191 usb HP LaserJet 1020 (USB printer) not recognized f usb/91516 usb [umass] umass0 problems, with Freecom Classic SL Hard o usb/91546 usb [umodem] [patch] Nokia 6630 mobile phone does not work o usb/91811 usb Compact Flash in HP Photosmart 2610 return " Medium n o usb/91896 usb Serial Number of USB Memory Sticks is not passed throu o usb/92306 usb [quirk] [patch] Support for iRiver U10 USB media playe o usb/92403 usb [uplcom] uplcom.c needs new entry for 4.00 revision of o usb/92852 usb Vertical scroll not working properly on A4Tech WOP-49 f usb/93011 usb HP ScanJet 6200C & uscanner problem o usb/93389 usb Digital Camera Pentax S60 don't work o usb/93872 usb [patch] SCSI quirk required for ELTA 8061 OL USB memor o usb/94132 usb USB QUIRK for CENTURY EX35QUAT disk enclosure f usb/94147 usb doesn't recognise my USB keyboard o usb/94148 usb Make if_cdce work with ARM linux handhelds o usb/94311 usb [ugen][PATCH] allow interrupt IN transactions to be af o usb/94439 usb [patch] Add support for JNC MP3 Player o usb/94946 usb [uhub][patch] code dynamic status size for status chan o usb/95037 usb USB disk didnt recognized on hot-plug. o usb/95173 usb [usb] cannot mount external usb harddisk VIA Technolog o usb/95241 usb Patch to add USB ID for OEM Pharos 360 GPS o usb/95803 usb Add support for AnyData ADU-E100H o usb/95805 usb Add Support for Siemens ES75 modem o usb/96381 usb [patch] add a quirk table entry for a flash ram usb st p usb/96546 usb [usb] [patch] Add support (quirk) for EasyMP3 EM732X U o usb/96714 usb Update uvisor to support the Fossil Abacus Wrist PDA o usb/97175 usb USB cardreader hangs system o usb/97472 usb [patch] add support for Olympus C150,D390 o usb/98343 usb BBB reset failed errors with Creative Muvo MP3 player; o usb/99419 usb external usb harddrive slow to accept o usb/99538 usb [kbd] while using USB keyboard default params of atkbd o usb/100746 usb [kbd] system does not boot due to USB keyboard problem o usb/101757 usb [patch] uhid.4: correct structure field names to match o usb/101761 usb [patch] usb.h: increase maximal size of report descrip o usb/101775 usb [libusbhid] [patch] possible error in report descripto o usb/102976 usb Casio Exilim Digital Camera cause panic o usb/103046 usb [patch] ulpt event driven I/O with select(2) and nonbl o usb/103289 usb USB 2.0 problems on AMD LX-800 CPU and CS-5536 chipset o usb/103418 usb [usb] [patch] usbhidctl: add ability to write output a o usb/103917 usb USB driver reports "Addr 0 should never happen" o usb/104290 usb QUIRK: TOSHIBA DVD-RAM drive (libretto DVD Dock) o usb/104352 usb [ural] ural driver doesnt work o usb/104645 usb QUIRK: Rave C-201 MP3 player o usb/105065 usb [sata] SATA - USB Bridge o usb/105361 usb Kernel panic during unmounting mass storage (Creative o usb/105518 usb epson perfection 3490 usb scanner def o usb/106041 usb FreeBSD does not recognise Mustek BearPaw 2400TA usb s o usb/106070 usb devd recognizes ucom, but ttyU is the device actually o usb/106462 usb Motorola U6 PEBL not recognized by system via USB [pat o usb/106538 usb [patch] Can not burn DVD on Sony DRX-820UL external US o usb/106621 usb [usb] DLINK DUB-E100 support broken o usb/106861 usb [PATCH]: usbdevs update: Add product ACER Zeevo BT-500 o usb/107243 usb [patch] Apacer USB Flash Drive quirk o usb/107388 usb [PATCH] Add utoppy device from NetBSD o usb/107496 usb USB device problem on RELENG_6_2 (SHORT_XFER) (regress o usb/107526 usb Patch to support the Crystalfontz CFA-635 20x4 USB LCD o usb/107642 usb [patch]Ralink Technology RT2501USB/RT2601USB chipset d o kern/107665 usb [usb] [patch] uscanner support for epson stylus DX5050 o usb/107701 usb usbd ignores "detach" o usb/107935 usb [uplcom] panic while accessing /dev/cuaU0 o usb/108056 usb Mouse gets powered off during device probe when plugge o usb/108344 usb [panic] kernel with atausb panics when unplugging USB o usb/108427 usb QUIRK-SAMSUNG MP0402H o usb/108509 usb Freebsd hang at startup after ehci0 detected (CD Loade o usb/108810 usb quirk for I/O Magic USB flash drive "Giga Bank" p usb/109613 usb Unsupported USB-Serial Controller for Sagem Mobile Pho p usb/109838 usb [PATCH] Support for various CDMA-2000 USB-modems o usb/110197 usb [umass] Sony PSP umass device does not detach from EHC o usb/110477 usb [usbdevs] [patch] add Benq 3300U/4300U support to Free o usb/110681 usb [ukbd][patch] multiple keys will be repeated o usb/110991 usb [patch] QUIRK: Super Top IDE DEVICE (depends on usb/11 o usb/110992 usb [uftdi] [patch] Add Tactrix Openport support in uftdi o usb/111710 usb [patch] [usb] add support for Option GlobeTrotter 3G+ 139 problems total. From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 03:34:28 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3786316A406; Tue, 24 Apr 2007 03:34:28 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 0F0FF13C455; Tue, 24 Apr 2007 03:34:28 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3O3YRVK068259; Tue, 24 Apr 2007 03:34:27 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3O3YRbU068255; Tue, 24 Apr 2007 03:34:27 GMT (envelope-from linimon) Date: Tue, 24 Apr 2007 03:34:27 GMT From: Mark Linimon Message-Id: <200704240334.l3O3YRbU068255@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-i386@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/102678: [kbd] Dell PowerEdge DRAC5 USB Keyboard does not work X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 03:34:28 -0000 Old Synopsis: [kbd] Dell PowerEdge DRAC5 USB Keyboard New Synopsis: [kbd] Dell PowerEdge DRAC5 USB Keyboard does not work Responsible-Changed-From-To: freebsd-i386->freebsd-usb Responsible-Changed-By: linimon Responsible-Changed-When: Tue Apr 24 03:33:44 UTC 2007 Responsible-Changed-Why: Reclassify as usb. http://www.freebsd.org/cgi/query-pr.cgi?pr=102678 From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 04:07:53 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5455B16A400; Tue, 24 Apr 2007 04:07:53 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 2C3DB13C45E; Tue, 24 Apr 2007 04:07:53 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3O47rmr070571; Tue, 24 Apr 2007 04:07:53 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3O47rkf070567; Tue, 24 Apr 2007 04:07:53 GMT (envelope-from linimon) Date: Tue, 24 Apr 2007 04:07:53 GMT From: Mark Linimon Message-Id: <200704240407.l3O47rkf070567@freefall.freebsd.org> To: eugen@grosbein.pp.ru, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org, linimon@FreeBSD.org Cc: Subject: Re: usb/93949: ugen(4)-related repeatable kernel panic in 6.1-PRERELEASE X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 04:07:53 -0000 Synopsis: ugen(4)-related repeatable kernel panic in 6.1-PRERELEASE State-Changed-From-To: open->feedback State-Changed-By: linimon State-Changed-When: Tue Apr 24 04:07:30 UTC 2007 State-Changed-Why: To submitter: does the problem persist in 6.2? Responsible-Changed-From-To: freebsd-usb->linimon Responsible-Changed-By: linimon Responsible-Changed-When: Tue Apr 24 04:07:30 UTC 2007 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=93949 From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 04:45:15 2007 Return-Path: X-Original-To: freebsd-usb@FreeBSD.org Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E3FB216A400 for ; Tue, 24 Apr 2007 04:45:15 +0000 (UTC) (envelope-from eugen@kuzbass.ru) Received: from www.svzserv.kemerovo.su (www.svzserv.kemerovo.su [213.184.65.80]) by mx1.freebsd.org (Postfix) with ESMTP id 38D9613C48A for ; Tue, 24 Apr 2007 04:45:14 +0000 (UTC) (envelope-from eugen@kuzbass.ru) Received: from kuzbass.ru (kost [213.184.65.82]) by www.svzserv.kemerovo.su (8.13.8/8.13.8) with ESMTP id l3O4ErwG023911; Tue, 24 Apr 2007 12:14:53 +0800 (KRAST) (envelope-from eugen@kuzbass.ru) Message-ID: <462D843F.D5DF078A@kuzbass.ru> Date: Tue, 24 Apr 2007 12:14:55 +0800 From: Eugene Grosbein Organization: SVZServ X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: ru,en MIME-Version: 1.0 To: Mark Linimon References: <200704240407.l3O47rkf070567@freefall.freebsd.org> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Cc: eugen@grosbein.pp.ru, freebsd-usb@FreeBSD.org Subject: Re: usb/93949: ugen(4)-related repeatable kernel panic in 6.1-PRERELEASE X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 04:45:16 -0000 Mark Linimon wrote: > To submitter: does the problem persist in 6.2? > http://www.freebsd.org/cgi/query-pr.cgi?pr=93949 Quoting my followup present in the Audit-Trail: > From: > Eugene Grosbein > Date: > Wed, 15 Nov 2006 02:05:03 +0700 > Hi! > > Some form of the patch mentioned in the Audit-Trail has been commited > and MFC'ed to RELENG_6. So the problem does not exists in STABLE anymore. > Please close this PR. From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 18:03:41 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D926816A403 for ; Tue, 24 Apr 2007 18:03:41 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe04.swip.net [212.247.154.97]) by mx1.freebsd.org (Postfix) with ESMTP id 76B2913C4AE for ; Tue, 24 Apr 2007 18:03:41 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.71.38.142] (account mc467741@c2i.net HELO [10.42.11.147]) by mailfe04.swip.net (CommuniGate Pro SMTP 5.1.7) with ESMTPA id 471973540; Tue, 24 Apr 2007 20:03:39 +0200 From: Hans Petter Selasky To: Mike Durian Date: Tue, 24 Apr 2007 20:03:21 +0200 User-Agent: KMail/1.9.5 References: <200704191213.21299.durian@shadetreesoftware.com> <200704200811.31020.hselasky@c2i.net> <200704200936.50396.durian@shadetreesoftware.com> In-Reply-To: <200704200936.50396.durian@shadetreesoftware.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200704242003.21153.hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: umass0: BBB reset failed, TIMEOUT on internal card reader X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 18:03:41 -0000 On Friday 20 April 2007 17:36, Mike Durian wrote: > On Friday 20 April 2007, Hans Petter Selasky wrote: > > I would suggest you install the new USB stack from: > > > > http://www.turbocat.net/~hselasky/usb4bsd/ > > > > How to get the latest sources: > > > > svn --username anonsvn --password anonsvn \ > > checkout svn://svn.turbocat.net/i4b > > # > > # The following commands will > > # install the driver on FreeBSD: > > # > > cd i4b/trunk/i4b/FreeBSD.usb > > make S=../src package > > make install > > > > Install on FreeBSD 6.x . > > > > When you have rebooted your computer, then you turn on debugging: > > > > sysctl hw.usb.umass.debug=-1 > > > > Then post the dmesg you get. > > > > --HPS I have found a small data-toggle bug in my EHCI driver. I assume that your device is USB2.0. Could you do a "svn update", repeat the install procedure, and then build a new kernel. Then send me the dmesg with "sysctl hw.usb.umass.debug=-1", when you plug your device. --HPS From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 19:50:08 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 96D2316A406 for ; Tue, 24 Apr 2007 19:50:08 +0000 (UTC) (envelope-from durian@shadetreesoftware.com) Received: from mailhost.boogie.com (mailhost.boogie.com [70.91.170.29]) by mx1.freebsd.org (Postfix) with ESMTP id 9DE7C13C44C for ; Tue, 24 Apr 2007 19:50:07 +0000 (UTC) (envelope-from durian@shadetreesoftware.com) Received: from man (man.boogie.com [192.168.1.3]) by mailhost.boogie.com (8.13.8/8.13.8) with ESMTP id l3OJnxDQ039229; Tue, 24 Apr 2007 13:49:59 -0600 (MDT) (envelope-from durian@shadetreesoftware.com) From: Mike Durian Organization: Shade Tree Software, LLC To: Hans Petter Selasky Date: Tue, 24 Apr 2007 13:49:57 -0600 User-Agent: KMail/1.9.6 References: <200704191213.21299.durian@shadetreesoftware.com> <200704200936.50396.durian@shadetreesoftware.com> <200704242003.21153.hselasky@c2i.net> In-Reply-To: <200704242003.21153.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200704241349.58604.durian@shadetreesoftware.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0.2 (mailhost.boogie.com [70.91.170.29]); Tue, 24 Apr 2007 13:49:59 -0600 (MDT) X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed version=3.1.7 X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on fever.boogie.com Cc: freebsd-usb@freebsd.org Subject: Re: umass0: BBB reset failed, TIMEOUT on internal card reader X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 19:50:08 -0000 On Tuesday 24 April 2007, Hans Petter Selasky wrote: > On Friday 20 April 2007 17:36, Mike Durian wrote: > > On Friday 20 April 2007, Hans Petter Selasky wrote: > > > I would suggest you install the new USB stack from: > > > > > > http://www.turbocat.net/~hselasky/usb4bsd/ > > > > > > How to get the latest sources: > > > > > > svn --username anonsvn --password anonsvn \ > > > checkout svn://svn.turbocat.net/i4b > > > # > > > # The following commands will > > > # install the driver on FreeBSD: > > > # > > > cd i4b/trunk/i4b/FreeBSD.usb > > > make S=../src package > > > make install > > > > > > Install on FreeBSD 6.x . > > > > > > When you have rebooted your computer, then you turn on debugging: > > > > > > sysctl hw.usb.umass.debug=-1 > > > > > > Then post the dmesg you get. > > > > > > --HPS > > I have found a small data-toggle bug in my EHCI driver. I assume that your > device is USB2.0. Could you do a "svn update", repeat the install > procedure, and then build a new kernel. > > Then send me the dmesg with "sysctl hw.usb.umass.debug=-1", when you plug > your device. > > --HPS Yes, it is a USB 2.0 device. Here is the debug output. umass0: umass0: SCSI over Bulk-Only; quirks = 0x0000 umass0:umass_cam_action: 5:-1:-1:XPT_PATH_INQ:. umass0:5:0:-1: Attached to scbus5 umass0:umass_cam_rescan: scbus5: scanning for 5:0:-1 umass0:umass_cam_action: 5:-1:-1:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/36b data/18b sense umass0:umass_bbb_dump_cbw: CBW 1: cmd = 6b (0x120000002400), data = 36b, lun = 0, dir = in umass0:umass_attach: Attacumass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=36 h finished umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 1: sig = 0x53425355 (valid), tag = 0x00000001, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/46b data/18b sense umass0:umass_bbb_dump_cbw: CBW 2: cmd = 6b (0x120000002e00), data = 46b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=46 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 2: sig = 0x53425355 (valid), tag = 0x00000002, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/255b data/18b sense umass0:umass_bbb_dump_cbw: CBW 3: cmd = 6b (0x12018000ff00), data = 255b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 3: sig = 0x53425355 (valid), tag = 0x00000003, res = 209, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_SET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b data/32b sense umass0:umass_bbb_dump_cbw: CBW 4: cmd = 6b (0x000000000000), data = 0b, lun = 0, dir = out umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 4: sig = 0x53425355 (valid), tag = 0x00000004, res = 0, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 0 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 5: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 5: sig = 0x53425355 (valid), tag = 0x00000005, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 6: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_cam_action: 5:0:1:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_cam_action: 5:0:1:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 6: sig = 0x53425355 (valid), tag = 0x00000006, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 7: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 7: sig = 0x53425355 (valid), tag = 0x00000007, res = 14, status = 0x00 (good) da0 at umass-sim0 bus 0 target 0 lun 0 da0: Removable Direct Access SCSI-0 device umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. da0: 40.000MB/s transfers da0: Attempt to query device size failed: NOT READY, Medium not present umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/36b data/18b sense umass0:umass_bbb_dump_cbw: CBW 8: cmd = 6b (0x122000002400), data = 36b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=36 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 8: sig = 0x53425355 (valid), tag = 0x00000008, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 9: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 9: sig = 0x53425355 (valid), tag = 0x00000009, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 10: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 10: sig = 0x53425355 (valid), tag = 0x0000000a, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/46b data/18b sense umass0:umass_bbb_dump_cbw: CBW 11: cmd = 6b (0x122000002e00), data = 46b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=46 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 11: sig = 0x53425355 (valid), tag = 0x0000000b, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 12: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 12: sig = 0x53425355 (valid), tag = 0x0000000c, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 13: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 13: sig = 0x53425355 (valid), tag = 0x0000000d, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/255b data/18b sense umass0:umass_bbb_dump_cbw: CBW 14: cmd = 6b (0x12218000ff00), data = 255b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 14: sig = 0x53425355 (valid), tag = 0x0000000e, res = 209, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:1:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:1:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:1:XPT_SET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 15: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 15: sig = 0x53425355 (valid), tag = 0x0000000f, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 16: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 16: sig = 0x53425355 (valid), tag = 0x00000010, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b data/32b sense umass0:umass_bbb_dump_cbw: CBW 17: cmd = 6b (0x002000000000), data = 0b, lun = 1, dir = out umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 17: sig = 0x53425355 (valid), tag = 0x00000011, res = 0, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 0 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 18: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 18: sig = 0x53425355 (valid), tag = 0x00000012, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 19: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_cam_action: 5:0:2:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_cam_action: 5:0:2:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 19: sig = 0x53425355 (valid), tag = 0x00000013, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 20: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 20: sig = 0x53425355 (valid), tag = 0x00000014, res = 14, status = 0x00 (good) da1 at umass-sim0 bus 0 target 0 lun 1 da1: Removable Direct Access SCSI-0 device umass0:umass_cam_action: 5:0:1:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:1:XPT_PATH_INQ:. da1: 40.000MB/s transfers da1: Attempt to query device size failed: NOT READY, Medium not present umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/36b data/18b sense umass0:umass_bbb_dump_cbw: CBW 21: cmd = 6b (0x124000002400), data = 36b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=36 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 21: sig = 0x53425355 (valid), tag = 0x00000015, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 22: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 22: sig = 0x53425355 (valid), tag = 0x00000016, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 23: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 23: sig = 0x53425355 (valid), tag = 0x00000017, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/46b data/18b sense umass0:umass_bbb_dump_cbw: CBW 24: cmd = 6b (0x124000002e00), data = 46b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=46 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 24: sig = 0x53425355 (valid), tag = 0x00000018, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 25: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 25: sig = 0x53425355 (valid), tag = 0x00000019, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 26: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 26: sig = 0x53425355 (valid), tag = 0x0000001a, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/255b data/18b sense umass0:umass_bbb_dump_cbw: CBW 27: cmd = 6b (0x12418000ff00), data = 255b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 27: sig = 0x53425355 (valid), tag = 0x0000001b, res = 209, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:2:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:2:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:2:XPT_SET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 28: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 28: sig = 0x53425355 (valid), tag = 0x0000001c, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 29: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 29: sig = 0x53425355 (valid), tag = 0x0000001d, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b data/32b sense umass0:umass_bbb_dump_cbw: CBW 30: cmd = 6b (0x004000000000), data = 0b, lun = 2, dir = out umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 30: sig = 0x53425355 (valid), tag = 0x0000001e, res = 0, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 0 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 31: cmd = 6b (0x030000002000), data = 32b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 31: sig = 0x53425355 (valid), tag = 0x0000001f, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 32: cmd = 10b (0x254000000000...), data = 8b, lun = 2, dir = in umass0:umass_cam_action: 5:0:3:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_cam_action: 5:0:3:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 32: sig = 0x53425355 (valid), tag = 0x00000020, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 33: cmd = 6b (0x030000002000), data = 32b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 33: sig = 0x53425355 (valid), tag = 0x00000021, res = 14, status = 0x00 (good) da2 at umass-sim0 bus 0 target 0 lun 2 da2: Removable Direct Access SCSI-0 device umass0:umass_cam_action: 5:0:2:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:2:XPT_PATH_INQ:. da2: 40.000MB/s transfers da2: Attempt to query device size failed: NOT READY, Medium not present umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/36b data/18b sense umass0:umass_bbb_dump_cbw: CBW 34: cmd = 6b (0x126000002400), data = 36b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=36 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 34: sig = 0x53425355 (valid), tag = 0x00000022, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 35: cmd = 10b (0x254000000000...), data = 8b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 35: sig = 0x53425355 (valid), tag = 0x00000023, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 36: cmd = 6b (0x030000002000), data = 32b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 36: sig = 0x53425355 (valid), tag = 0x00000024, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/46b data/18b sense umass0:umass_bbb_dump_cbw: CBW 37: cmd = 6b (0x126000002e00), data = 46b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=46 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 37: sig = 0x53425355 (valid), tag = 0x00000025, res = 0, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 38: cmd = 10b (0x254000000000...), data = 8b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 38: sig = 0x53425355 (valid), tag = 0x00000026, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 39: cmd = 6b (0x030000002000), data = 32b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 39: sig = 0x53425355 (valid), tag = 0x00000027, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x12, flags: 0x40, 6b cmd/255b data/18b sense umass0:umass_bbb_dump_cbw: CBW 40: cmd = 6b (0x12618000ff00), data = 255b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 40: sig = 0x53425355 (valid), tag = 0x00000028, res = 209, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:3:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:3:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:3:XPT_SET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 41: cmd = 10b (0x254000000000...), data = 8b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 41: sig = 0x53425355 (valid), tag = 0x00000029, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 42: cmd = 6b (0x030000002000), data = 32b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 42: sig = 0x53425355 (valid), tag = 0x0000002a, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b data/32b sense umass0:umass_bbb_dump_cbw: CBW 43: cmd = 6b (0x006000000000), data = 0b, lun = 3, dir = out umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. umass0:umass_transfer_start: transfer index = 8 umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. umass0:umass_bbb_dump_csw: CSW 43: sig = 0x53425355 (valid), tag = 0x0000002b, res = 0, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 0 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 44: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 44: sig = 0x53425355 (valid), tag = 0x0000002c, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 45: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umassX:umass_cam_rescaumass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 n_callback: xpt0: Rescan succeededumass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 45: sig = 0x53425355 (valid), tag = 0x0000002d, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 46: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 46: sig = 0x53425355 (valid), tag = 0x0000002e, res = 14, status = 0x00 (good) da3 at umass-sim0 bus 0 target 0 lun 3 da3: Removable Direct Access SCSI-0 device umass0:umass_cam_action: 5:0:3:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:3:XPT_PATH_INQ:. da3: 40.000MB/s transfers da3: Attempt to query device size failed: NOT READY, Medium not present umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 47: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 47: sig = 0x53425355 (valid), tag = 0x0000002f, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 48: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 48: sig = 0x53425355 (valid), tag = 0x00000030, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 49: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 49: sig = 0x53425355 (valid), tag = 0x00000031, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 50: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 50: sig = 0x53425355 (valid), tag = 0x00000032, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 51: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 51: sig = 0x53425355 (valid), tag = 0x00000033, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 52: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 52: sig = 0x53425355 (valid), tag = 0x00000034, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 53: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 53: sig = 0x53425355 (valid), tag = 0x00000035, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 54: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 54: sig = 0x53425355 (valid), tag = 0x00000036, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 55: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 55: sig = 0x53425355 (valid), tag = 0x00000037, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 56: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 56: sig = 0x53425355 (valid), tag = 0x00000038, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:1:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 57: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 57: sig = 0x53425355 (valid), tag = 0x00000039, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 58: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 58: sig = 0x53425355 (valid), tag = 0x0000003a, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 59: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 59: sig = 0x53425355 (valid), tag = 0x0000003b, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 60: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 60: sig = 0x53425355 (valid), tag = 0x0000003c, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 61: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 61: sig = 0x53425355 (valid), tag = 0x0000003d, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 62: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 62: sig = 0x53425355 (valid), tag = 0x0000003e, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:2:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 63: cmd = 10b (0x254000000000...), data = 8b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 63: sig = 0x53425355 (valid), tag = 0x0000003f, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 64: cmd = 6b (0x030000002000), data = 32b, lun = 2, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 64: sig = 0x53425355 (valid), tag = 0x00000040, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:3:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 65: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 65: sig = 0x53425355 (valid), tag = 0x00000041, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 66: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 66: sig = 0x53425355 (valid), tag = 0x00000042, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 67: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 67: sig = 0x53425355 (valid), tag = 0x00000043, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 68: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 68: sig = 0x53425355 (valid), tag = 0x00000044, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 69: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 69: sig = 0x53425355 (valid), tag = 0x00000045, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 70: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 70: sig = 0x53425355 (valid), tag = 0x00000046, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 71: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 71: sig = 0x53425355 (valid), tag = 0x00000047, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 72: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 72: sig = 0x53425355 (valid), tag = 0x00000048, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 73: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 73: sig = 0x53425355 (valid), tag = 0x00000049, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 74: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 74: sig = 0x53425355 (valid), tag = 0x0000004a, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 75: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 75: sig = 0x53425355 (valid), tag = 0x0000004b, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 76: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 76: sig = 0x53425355 (valid), tag = 0x0000004c, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 77: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 77: sig = 0x53425355 (valid), tag = 0x0000004d, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 78: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 78: sig = 0x53425355 (valid), tag = 0x0000004e, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 79: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 79: sig = 0x53425355 (valid), tag = 0x0000004f, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 80: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 80: sig = 0x53425355 (valid), tag = 0x00000050, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 81: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 81: sig = 0x53425355 (valid), tag = 0x00000051, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 82: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 82: sig = 0x53425355 (valid), tag = 0x00000052, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 83: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 83: sig = 0x53425355 (valid), tag = 0x00000053, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 84: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 84: sig = 0x53425355 (valid), tag = 0x00000054, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 85: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 85: sig = 0x53425355 (valid), tag = 0x00000055, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 86: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 86: sig = 0x53425355 (valid), tag = 0x00000056, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 87: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 87: sig = 0x53425355 (valid), tag = 0x00000057, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 88: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 88: sig = 0x53425355 (valid), tag = 0x00000058, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 89: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 89: sig = 0x53425355 (valid), tag = 0x00000059, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 90: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 90: sig = 0x53425355 (valid), tag = 0x0000005a, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:3:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 91: cmd = 10b (0x256000000000...), data = 8b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 91: sig = 0x53425355 (valid), tag = 0x0000005b, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 92: cmd = 6b (0x030000002000), data = 32b, lun = 3, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 92: sig = 0x53425355 (valid), tag = 0x0000005c, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 93: cmd = 10b (0x250000000000...), data = 8b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 93: sig = 0x53425355 (valid), tag = 0x0000005d, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 94: cmd = 6b (0x030000002000), data = 32b, lun = 0, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 94: sig = 0x53425355 (valid), tag = 0x0000005e, res = 14, status = 0x00 (good) umass0:umass_cam_action: 5:0:1:XPT_SCSI_IO: cmd: 0x25, flags: 0x40, 10b cmd/8b data/32b sense umass0:umass_bbb_dump_cbw: CBW 95: cmd = 10b (0x252000000000...), data = 8b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=8 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 95: sig = 0x53425355 (valid), tag = 0x0000005f, res = 8, status = 0x01 (failed) umass0:umass_t_bbb_status_callback: Command failed, residue = 8 umass0:umass_cam_cb: Fetching 32 bytes of sense data umass0:umass_bbb_dump_cbw: CBW 96: cmd = 6b (0x030000002000), data = 32b, lun = 1, dir = in umass0:umass_transfer_start: transfer index = 4 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=32 umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 umass0:umass_transfer_start: transfer index = 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index = 5 umass0:umass_transfer_start: transfer index = 8 umass0:umass_bbb_dump_csw: CSW 96: sig = 0x53425355 (valid), tag = 0x00000060, res = 14, status = 0x00 (good) umass0: at uhub4 port 5 (addr 126) disconnected umass0:umass_detach: (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry (da1:umass-sim0:0:0:1): lost device (da1:umass-sim0:0:0:1): removing device entry (da2:umass-sim0:0:0:2): lost device (da2:umass-sim0:0:0:2): removing device entry (da3:umass-sim0:0:0:3): lost device (da3:umass-sim0:0:0:3): removing device entry umass0: detached From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 21:04:34 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AEAEF16A402 for ; Tue, 24 Apr 2007 21:04:34 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe12.swip.net [212.247.155.97]) by mx1.freebsd.org (Postfix) with ESMTP id 1FCD113C4BC for ; Tue, 24 Apr 2007 21:04:33 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [193.71.38.142] (account mc467741@c2i.net HELO [10.42.11.147]) by mailfe12.swip.net (CommuniGate Pro SMTP 5.1.7) with ESMTPA id 302169648; Tue, 24 Apr 2007 23:04:32 +0200 From: Hans Petter Selasky To: Mike Durian Date: Tue, 24 Apr 2007 23:04:13 +0200 User-Agent: KMail/1.9.5 References: <200704191213.21299.durian@shadetreesoftware.com> <200704242003.21153.hselasky@c2i.net> <200704241349.58604.durian@shadetreesoftware.com> In-Reply-To: <200704241349.58604.durian@shadetreesoftware.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200704242304.13649.hselasky@c2i.net> Cc: Scott Long , freebsd-usb@freebsd.org Subject: Re: umass0: BBB reset failed, TIMEOUT on internal card reader X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 21:04:34 -0000 Hi, Scott, can you have a quick look at this? On Tuesday 24 April 2007 21:49, Mike Durian wrote: > On Tuesday 24 April 2007, Hans Petter Selasky wrote: > > On Friday 20 April 2007 17:36, Mike Durian wrote: > > > On Friday 20 April 2007, Hans Petter Selasky wrote: > > > > I would suggest you install the new USB stack from: > > > > > > > > http://www.turbocat.net/~hselasky/usb4bsd/ > > > > > > > > How to get the latest sources: > > > > > > > > svn --username anonsvn --password anonsvn \ > > > > checkout svn://svn.turbocat.net/i4b > > > > # > > > > # The following commands will > > > > # install the driver on FreeBSD: > > > > # > > > > cd i4b/trunk/i4b/FreeBSD.usb > > > > make S=3D../src package > > > > make install > > > > > > > > Install on FreeBSD 6.x . > > > > > > > > When you have rebooted your computer, then you turn on debugging: > > > > > > > > sysctl hw.usb.umass.debug=3D-1 > > > > > > > > Then post the dmesg you get. > > > > > > > > --HPS > > > > I have found a small data-toggle bug in my EHCI driver. I assume that > > your device is USB2.0. Could you do a "svn update", repeat the install > > procedure, and then build a new kernel. > > > > Then send me the dmesg with "sysctl hw.usb.umass.debug=3D-1", when you = plug > > your device. > > > > --HPS > > Yes, it is a USB 2.0 device. Here is the debug output. umass0:umass_transfer_start: transfer index =3D 4 umass0:umass_t_bbb_data_read_callback: max_bulk=3D131072, data_rem=3D255 umass0:umass_t_bbb_data_read_callback: max_bulk=3D131072, data_rem=3D0 umass0:umass_transfer_start: transfer index =3D 8 umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 umass0:umass_transfer_start: transfer index =3D 5 umass0:umass_transfer_start: transfer index =3D 8 umass0:umass_bbb_dump_csw: CSW 3: sig =3D 0x53425355 (valid), tag =3D 0x000= 00003,=20 res =3D 209, status =3D 0x00 (good) =46rom what I can see it looks a little suspicious that the CAM command is = all=20 zero. Is this Normal? Also the residue from the last command, "res =3D 209"= =20 maybe confuses the CAM layer? umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_SET_TRAN_SETTINGS:. umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/= 0b=20 data/32b sense umass0:umass_bbb_dump_cbw: CBW 4: cmd =3D 6b (0x000000000000), data =3D 0b,= lun =3D=20 0, dir =3D out =2D-HPS From owner-freebsd-usb@FreeBSD.ORG Tue Apr 24 22:46:55 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D29E316A406 for ; Tue, 24 Apr 2007 22:46:55 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id 7F32813C46C for ; Tue, 24 Apr 2007 22:46:55 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id l3OMRH5m000337; Tue, 24 Apr 2007 16:27:17 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <462E842C.9020807@samsco.org> Date: Tue, 24 Apr 2007 16:26:52 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.2pre) Gecko/20070111 SeaMonkey/1.1 MIME-Version: 1.0 To: Hans Petter Selasky References: <200704191213.21299.durian@shadetreesoftware.com> <200704242003.21153.hselasky@c2i.net> <200704241349.58604.durian@shadetreesoftware.com> <200704242304.13649.hselasky@c2i.net> In-Reply-To: <200704242304.13649.hselasky@c2i.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (pooker.samsco.org [168.103.85.57]); Tue, 24 Apr 2007 16:27:17 -0600 (MDT) X-Spam-Status: No, score=-1.4 required=5.5 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: freebsd-usb@freebsd.org Subject: Re: umass0: BBB reset failed, TIMEOUT on internal card reader X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2007 22:46:55 -0000 Hans Petter Selasky wrote: > Hi, > > Scott, can you have a quick look at this? > > On Tuesday 24 April 2007 21:49, Mike Durian wrote: >> On Tuesday 24 April 2007, Hans Petter Selasky wrote: >>> On Friday 20 April 2007 17:36, Mike Durian wrote: >>>> On Friday 20 April 2007, Hans Petter Selasky wrote: >>>>> I would suggest you install the new USB stack from: >>>>> >>>>> http://www.turbocat.net/~hselasky/usb4bsd/ >>>>> >>>>> How to get the latest sources: >>>>> >>>>> svn --username anonsvn --password anonsvn \ >>>>> checkout svn://svn.turbocat.net/i4b >>>>> # >>>>> # The following commands will >>>>> # install the driver on FreeBSD: >>>>> # >>>>> cd i4b/trunk/i4b/FreeBSD.usb >>>>> make S=../src package >>>>> make install >>>>> >>>>> Install on FreeBSD 6.x . >>>>> >>>>> When you have rebooted your computer, then you turn on debugging: >>>>> >>>>> sysctl hw.usb.umass.debug=-1 >>>>> >>>>> Then post the dmesg you get. >>>>> >>>>> --HPS >>> I have found a small data-toggle bug in my EHCI driver. I assume that >>> your device is USB2.0. Could you do a "svn update", repeat the install >>> procedure, and then build a new kernel. >>> >>> Then send me the dmesg with "sysctl hw.usb.umass.debug=-1", when you plug >>> your device. >>> >>> --HPS >> Yes, it is a USB 2.0 device. Here is the debug output. > > umass0:umass_transfer_start: transfer index = 4 > umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=255 > umass0:umass_t_bbb_data_read_callback: max_bulk=131072, data_rem=0 > umass0:umass_transfer_start: transfer index = 8 > umass0:umass_t_bbb_status_callback: Failed to read CSW: USBD_STALLED, try 0 > umass0:umass_transfer_start: transfer index = 5 > umass0:umass_transfer_start: transfer index = 8 > umass0:umass_bbb_dump_csw: CSW 3: sig = 0x53425355 (valid), tag = 0x00000003, > res = 209, status = 0x00 (good) > > From what I can see it looks a little suspicious that the CAM command is all > zero. Is this Normal? Also the residue from the last command, "res = 209" > maybe confuses the CAM layer? > > umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. > umass0:umass_cam_action: 5:0:0:XPT_PATH_INQ:. > umass0:umass_cam_action: 5:0:0:XPT_GET_TRAN_SETTINGS:. > umass0:umass_cam_action: 5:0:0:XPT_SET_TRAN_SETTINGS:. > umass0:umass_cam_action: 5:0:0:XPT_SCSI_IO: cmd: 0x00, flags: 0xc0, 6b cmd/0b > data/32b sense > umass0:umass_bbb_dump_cbw: CBW 4: cmd = 6b (0x000000000000), data = 0b, lun = > 0, dir = out > > --HPS A 6 byte command of all 0x00 values is a TEST_UNIT_READY (TUR) command, a perfectly normal and expected command. CAM sends one to each target during probe to see if the target is there. The only data transfered back from the device for this command should be a status word. If the status is an error then the device should provide sense data, either automatically or in response to a REQUEST_SENSE command. I'm not familiar enough with umass to know which should be expected. Sense data is usually 18-32 bytes. I'm not sure why it would be sending back 209 bytes for any reason from a TUR. Scott From owner-freebsd-usb@FreeBSD.ORG Wed Apr 25 10:39:16 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3A6EC16A403; Wed, 25 Apr 2007 10:39:16 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 150C213C45B; Wed, 25 Apr 2007 10:39:16 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3PAdFHx017312; Wed, 25 Apr 2007 10:39:15 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3PAdFwc017308; Wed, 25 Apr 2007 10:39:15 GMT (envelope-from linimon) Date: Wed, 25 Apr 2007 10:39:15 GMT From: Mark Linimon Message-Id: <200704251039.l3PAdFwc017308@freefall.freebsd.org> To: rich.jt@ntlworld.com, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/94147: doesn't recognise my USB keyboard X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Apr 2007 10:39:16 -0000 Synopsis: doesn't recognise my USB keyboard State-Changed-From-To: feedback->closed State-Changed-By: linimon State-Changed-When: Wed Apr 25 10:38:46 UTC 2007 State-Changed-Why: Feedback timeout (> 6 months). http://www.freebsd.org/cgi/query-pr.cgi?pr=94147 From owner-freebsd-usb@FreeBSD.ORG Wed Apr 25 10:44:44 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 41B4C16A402; Wed, 25 Apr 2007 10:44:44 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 1C86013C45D; Wed, 25 Apr 2007 10:44:44 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3PAihmR017796; Wed, 25 Apr 2007 10:44:43 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3PAifRk017792; Wed, 25 Apr 2007 10:44:41 GMT (envelope-from linimon) Date: Wed, 25 Apr 2007 10:44:41 GMT From: Mark Linimon Message-Id: <200704251044.l3PAifRk017792@freefall.freebsd.org> To: j5@plan11.org, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/93011: HP ScanJet 6200C & uscanner problem X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Apr 2007 10:44:44 -0000 Synopsis: HP ScanJet 6200C & uscanner problem State-Changed-From-To: feedback->closed State-Changed-By: linimon State-Changed-When: Wed Apr 25 10:43:52 UTC 2007 State-Changed-Why: Feedback timeout (> 6 months). http://www.freebsd.org/cgi/query-pr.cgi?pr=93011 From owner-freebsd-usb@FreeBSD.ORG Thu Apr 26 22:49:40 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AA82416A40D; Thu, 26 Apr 2007 22:49:40 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 68B2013C46E; Thu, 26 Apr 2007 22:49:40 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3QMnepF081061; Thu, 26 Apr 2007 22:49:40 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3QMneRN081057; Thu, 26 Apr 2007 22:49:40 GMT (envelope-from linimon) Date: Thu, 26 Apr 2007 22:49:40 GMT From: Mark Linimon Message-Id: <200704262249.l3QMneRN081057@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/112161: [usbdevs] [patch] Option N.V. Fusion UMTS Quad-GPRS X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2007 22:49:40 -0000 Synopsis: [usbdevs] [patch] Option N.V. Fusion UMTS Quad-GPRS Responsible-Changed-From-To: freebsd-bugs->freebsd-usb Responsible-Changed-By: linimon Responsible-Changed-When: Thu Apr 26 22:49:30 UTC 2007 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=112161 From owner-freebsd-usb@FreeBSD.ORG Fri Apr 27 09:43:51 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C683D16A407; Fri, 27 Apr 2007 09:43:51 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 9D66213C459; Fri, 27 Apr 2007 09:43:51 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3R9hpkG029579; Fri, 27 Apr 2007 09:43:51 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3R9hpmq029575; Fri, 27 Apr 2007 09:43:51 GMT (envelope-from linimon) Date: Fri, 27 Apr 2007 09:43:51 GMT From: Mark Linimon Message-Id: <200704270943.l3R9hpmq029575@freefall.freebsd.org> To: baiazid@gmail.com, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org, linimon@FreeBSD.org Cc: Subject: Re: usb/89218: flash disk X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 09:43:51 -0000 Synopsis: flash disk State-Changed-From-To: open->feedback State-Changed-By: linimon State-Changed-When: Fri Apr 27 09:42:20 UTC 2007 State-Changed-Why: To submitter: does this problem still recur on 6.2? Responsible-Changed-From-To: freebsd-usb->linimon Responsible-Changed-By: linimon Responsible-Changed-When: Fri Apr 27 09:42:20 UTC 2007 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=89218 From owner-freebsd-usb@FreeBSD.ORG Fri Apr 27 09:47:09 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B311316A401; Fri, 27 Apr 2007 09:47:09 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 8340013C45B; Fri, 27 Apr 2007 09:47:09 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3R9l9Ph029701; Fri, 27 Apr 2007 09:47:09 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3R9l9OO029697; Fri, 27 Apr 2007 09:47:09 GMT (envelope-from linimon) Date: Fri, 27 Apr 2007 09:47:09 GMT From: Mark Linimon Message-Id: <200704270947.l3R9l9OO029697@freefall.freebsd.org> To: freebsd@bsdchicks.com, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org, linimon@FreeBSD.org Cc: Subject: Re: usb/87565: [patch] Support for Vodaphone 3G/UMTS cards X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 09:47:09 -0000 Old Synopsis: [PATCH] Support for Vodaphone 3G/UMTS cards New Synopsis: [patch] Support for Vodaphone 3G/UMTS cards State-Changed-From-To: open->feedback State-Changed-By: linimon State-Changed-When: Fri Apr 27 09:45:46 UTC 2007 State-Changed-Why: To submitter: does the fix that was committed from usb/106033 fix this problem? Responsible-Changed-From-To: freebsd-usb->linimon Responsible-Changed-By: linimon Responsible-Changed-When: Fri Apr 27 09:45:46 UTC 2007 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=87565 From owner-freebsd-usb@FreeBSD.ORG Fri Apr 27 10:21:44 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 58CB616A402; Fri, 27 Apr 2007 10:21:44 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 1CF1613C4BE; Fri, 27 Apr 2007 10:21:44 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3RALhBK032192; Fri, 27 Apr 2007 10:21:43 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3RALhHu032188; Fri, 27 Apr 2007 10:21:43 GMT (envelope-from linimon) Date: Fri, 27 Apr 2007 10:21:43 GMT From: Mark Linimon Message-Id: <200704271021.l3RALhHu032188@freefall.freebsd.org> To: tim_gibney_200@yahoo.com, linimon@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/73553: [usb] Microsoft USB Internet Keyboard not recongized X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 10:21:44 -0000 Synopsis: [usb] Microsoft USB Internet Keyboard not recongized State-Changed-From-To: feedback->closed State-Changed-By: linimon State-Changed-When: Fri Apr 27 10:21:23 UTC 2007 State-Changed-Why: Feeback timeout (> 1 year). http://www.freebsd.org/cgi/query-pr.cgi?pr=73553 From owner-freebsd-usb@FreeBSD.ORG Fri Apr 27 12:18:15 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D164616A400 for ; Fri, 27 Apr 2007 12:18:15 +0000 (UTC) (envelope-from micakovic@icnm.net) Received: from orion.icnm.net (81-223-68-249.moosstrasse.xdsl-line.inode.at [81.223.68.249]) by mx1.freebsd.org (Postfix) with ESMTP id 0BD1D13C448 for ; Fri, 27 Apr 2007 12:18:12 +0000 (UTC) (envelope-from micakovic@icnm.net) Received: from [192.168.10.3] (sun-dmz.icnm.net [192.168.9.222]) by orion.icnm.net (8.13.8/8.13.4) with ESMTP id l3RBs7QX005662 for ; Fri, 27 Apr 2007 13:54:08 +0200 (CEST) From: Predrag Micakovic To: freebsd-usb@freebsd.org Content-Type: text/plain Organization: www.icnm.net Date: Fri, 27 Apr 2007 13:54:02 +0200 Message-Id: <1177674842.20271.4.camel@phobos> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit Subject: locks caused by umass X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 12:18:15 -0000 Attached to the 6.2-RELEASE-p1 FreeBSD 6.2-RELEASE-p1 via USB, an external HDD locks for periods of times, then unlocks (sometimes), or freezes the system (sometimes). Error messages of this kind: kernel: g_vfs_done():da6s1d[WRITE(offset=187489681408, length=16384)]error = 5 kernel: g_vfs_done():da6s1d[READ(offset=180552667136, length=2048)]error = 5 kernel: umass0: BBB reset failed, STALLED kernel: umass0: BBB bulk-in clear stall failed, STALLED kernel: umass0: BBB bulk-out clear stall failed, STALLED kernel: umass0: BBB reset failed, STALLED Has anyone experienced similar problems _AND_ found some solutions? Hardware info: Apr 26 12:09:00 jupiter syslogd: kernel boot file is /boot/kernel/kernel Apr 26 12:09:00 jupiter kernel: Copyright (c) 1992-2007 The FreeBSD Project. Apr 26 12:09:00 jupiter kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 Apr 26 12:09:00 jupiter kernel: The Regents of the University of California. All rights reserved. Apr 26 12:09:00 jupiter kernel: FreeBSD is a registered trademark of The FreeBSD Foundation. Apr 26 12:09:00 jupiter kernel: FreeBSD 6.2-RELEASE-p1 #1: Mon Feb 12 05:19:38 CET 2007 Apr 26 12:09:00 jupiter kernel: sysop@jupiter.icnm.net:/usr/obj/usr/src/sys/GENERIC Apr 26 12:09:00 jupiter kernel: ACPI APIC Table: Apr 26 12:09:00 jupiter kernel: Timecounter "i8254" frequency 1193182 Hz quality 0 Apr 26 12:09:00 jupiter kernel: CPU: Intel(R) Xeon(TM) CPU 2.40GHz (2395.92-MHz 686-class CPU) Apr 26 12:09:00 jupiter kernel: Origin = "GenuineIntel" Id = 0xf27 Stepping = 7 Apr 26 12:09:00 jupiter kernel: Features=0xbfebfbff Apr 26 12:09:00 jupiter kernel: Logical CPUs per core: 2 Apr 26 12:09:00 jupiter kernel: real memory = 1073217536 (1023 MB) Apr 26 12:09:00 jupiter kernel: avail memory = 1041154048 (992 MB) Apr 26 12:09:00 jupiter kernel: ioapic0 irqs 0-23 on motherboard Apr 26 12:09:00 jupiter kernel: ioapic1 irqs 24-47 on motherboard Apr 26 12:09:00 jupiter kernel: ioapic2 irqs 48-71 on motherboard Apr 26 12:09:00 jupiter kernel: ioapic3 irqs 72-95 on motherboard Apr 26 12:09:00 jupiter kernel: ioapic4 irqs 96-119 on motherboard Apr 26 12:09:00 jupiter kernel: kbd1 at kbdmux0 Apr 26 12:09:00 jupiter kernel: ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) Apr 26 12:09:00 jupiter kernel: acpi0: on motherboard Apr 26 12:09:00 jupiter kernel: acpi0: Power Button (fixed) Apr 26 12:09:00 jupiter kernel: Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 Apr 26 12:09:00 jupiter kernel: acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 Apr 26 12:09:00 jupiter kernel: cpu0: on acpi0 Apr 26 12:09:00 jupiter kernel: pcib0: port 0xcf8-0xcff on acpi0 Apr 26 12:09:00 jupiter kernel: pci0: on pcib0 Apr 26 12:09:00 jupiter kernel: pci0: at device 0.1 (no driver attached) Apr 26 12:09:00 jupiter kernel: pcib1: at device 2.0 on pci0 Apr 26 12:09:00 jupiter kernel: pci1: on pcib1 Apr 26 12:09:00 jupiter kernel: pci1: at device 28.0 (no driver attached) Apr 26 12:09:00 jupiter kernel: pcib2: at device 29.0 on pci1 Apr 26 12:09:00 jupiter kernel: pci2: on pcib2 Apr 26 12:09:00 jupiter kernel: pci1: at device 30.0 (no driver attached) Apr 26 12:09:00 jupiter kernel: pcib3: at device 31.0 on pci1 Apr 26 12:09:00 jupiter kernel: pci3: on pcib3 Apr 26 12:09:00 jupiter kernel: pcib4: at device 3.0 on pci0 Apr 26 12:09:00 jupiter kernel: pci4: on pcib4 Apr 26 12:09:00 jupiter kernel: pci4: at device 28.0 (no driver attached) Apr 26 12:09:00 jupiter kernel: pcib5: at device 29.0 on pci4 Apr 26 12:09:00 jupiter kernel: pci5: on pcib5 Apr 26 12:09:00 jupiter kernel: em0: port 0x3000-0x303f mem 0xfc300000-0xfc31ffff irq 96 at device 1.0 on pci5 Apr 26 12:09:00 jupiter kernel: em0: Ethernet address: 00:07:e9:10:3b:0d Apr 26 12:09:00 jupiter kernel: pci4: at device 30.0 (no driver attached) Apr 26 12:09:00 jupiter kernel: pcib6: at device 31.0 on pci4 Apr 26 12:09:00 jupiter kernel: pci6: on pcib6 Apr 26 12:09:00 jupiter kernel: ahc0: port 0x4000-0x40ff mem 0xfc400000-0xfc400fff irq 76 at device 2.0 on pci6 Apr 26 12:09:00 jupiter kernel: ahc0: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Apr 26 12:09:00 jupiter kernel: ahc1: port 0x4400-0x44ff mem 0xfc401000-0xfc401fff irq 77 at device 2.1 on pci6 Apr 26 12:09:00 jupiter kernel: ahc1: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs Apr 26 12:09:00 jupiter kernel: uhci0: port 0x2000-0x201f irq 16 at device 29.0 on pci0 Apr 26 12:09:00 jupiter kernel: uhci0: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: usb0: on uhci0 Apr 26 12:09:00 jupiter kernel: usb0: USB revision 1.0 Apr 26 12:09:00 jupiter kernel: uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Apr 26 12:09:00 jupiter kernel: uhub0: 2 ports with 2 removable, self powered Apr 26 12:09:00 jupiter kernel: uhci1: port 0x2020-0x203f irq 19 at device 29.1 on pci0 Apr 26 12:09:00 jupiter kernel: uhci1: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: usb1: on uhci1 Apr 26 12:09:00 jupiter kernel: usb1: USB revision 1.0 Apr 26 12:09:00 jupiter kernel: uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Apr 26 12:09:00 jupiter kernel: uhub1: 2 ports with 2 removable, self powered Apr 26 12:09:00 jupiter kernel: uhci2: port 0x2040-0x205f irq 18 at device 29.2 on pci0 Apr 26 12:09:00 jupiter kernel: uhci2: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: usb2: on uhci2 Apr 26 12:09:00 jupiter kernel: usb2: USB revision 1.0 Apr 26 12:09:00 jupiter kernel: uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 Apr 26 12:09:00 jupiter kernel: uhub2: 2 ports with 2 removable, self powered Apr 26 12:09:00 jupiter kernel: pcib7: at device 30.0 on pci0 Apr 26 12:09:00 jupiter kernel: pci7: on pcib7 Apr 26 12:09:00 jupiter kernel: pci7: at device 1.0 (no driver attached) Apr 26 12:09:00 jupiter kernel: fxp0: port 0x5400-0x543f mem 0xfc501000-0xfc501fff,0xfc520000-0xfc53ffff irq 17 at device 2.0 on pci7 Apr 26 12:09:00 jupiter kernel: miibus0: on fxp0 Apr 26 12:09:00 jupiter kernel: inphy0: on miibus0 Apr 26 12:09:00 jupiter kernel: inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto Apr 26 12:09:00 jupiter kernel: fxp0: Ethernet address: 00:30:48:25:29:10 Apr 26 12:09:00 jupiter kernel: fxp1: port 0x5440-0x547f mem 0xfc502000-0xfc502fff,0xfc540000-0xfc55ffff irq 18 at device 3.0 on pci7 Apr 26 12:09:00 jupiter kernel: miibus1: on fxp1 Apr 26 12:09:00 jupiter kernel: inphy1: on miibus1 Apr 26 12:09:00 jupiter kernel: inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto Apr 26 12:09:00 jupiter kernel: fxp1: Ethernet address: 00:30:48:25:29:11 Apr 26 12:09:00 jupiter kernel: isab0: at device 31.0 on pci0 Apr 26 12:09:00 jupiter kernel: isa0: on isab0 Apr 26 12:09:00 jupiter kernel: atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2060-0x206f at device 31.1 on pci0 Apr 26 12:09:00 jupiter kernel: ata0: on atapci0 Apr 26 12:09:00 jupiter kernel: ata1: on atapci0 Apr 26 12:09:00 jupiter kernel: pci0: at device 31.3 (no driver attached) Apr 26 12:09:00 jupiter kernel: acpi_button0: on acpi0 Apr 26 12:09:00 jupiter kernel: atkbdc0: port 0x60,0x64 irq 1 on acpi0 Apr 26 12:09:00 jupiter kernel: atkbd0: irq 1 on atkbdc0 Apr 26 12:09:00 jupiter kernel: kbd0 at atkbd0 Apr 26 12:09:00 jupiter kernel: atkbd0: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: psm0: irq 12 on atkbdc0 Apr 26 12:09:00 jupiter kernel: psm0: [GIANT-LOCKED] Apr 26 12:09:00 jupiter kernel: psm0: model IntelliMouse, device ID 3 Apr 26 12:09:00 jupiter kernel: sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 Apr 26 12:09:00 jupiter kernel: sio0: type 16550A Apr 26 12:09:00 jupiter kernel: sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 Apr 26 12:09:00 jupiter kernel: sio1: type 16550A Apr 26 12:09:00 jupiter kernel: fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 Apr 26 12:09:00 jupiter kernel: fdc0: [FAST] Apr 26 12:09:00 jupiter kernel: fd0: <1440-KB 3.5" drive> on fdc0 drive 0 Apr 26 12:09:00 jupiter kernel: ppc0: port 0x378-0x37f,0x778-0x77f irq 7 drq 3 on acpi0 Apr 26 12:09:00 jupiter kernel: ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode Apr 26 12:09:00 jupiter kernel: ppc0: FIFO with 16/16/9 bytes threshold Apr 26 12:09:00 jupiter kernel: ppbus0: on ppc0 Apr 26 12:09:00 jupiter kernel: plip0: on ppbus0 Apr 26 12:09:00 jupiter kernel: lpt0: on ppbus0 Apr 26 12:09:00 jupiter kernel: lpt0: Interrupt-driven port Apr 26 12:09:00 jupiter kernel: ppi0: on ppbus0 Apr 26 12:09:00 jupiter kernel: pmtimer0 on isa0 Apr 26 12:09:00 jupiter kernel: orm0: at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xd8000-0xdbfff,0xdc000-0xdffff on isa0 Apr 26 12:09:00 jupiter kernel: sc0: at flags 0x100 on isa0 Apr 26 12:09:00 jupiter kernel: sc0: VGA <16 virtual consoles, flags=0x300> Apr 26 12:09:00 jupiter kernel: vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Apr 26 12:09:00 jupiter kernel: umass0: Prolific Technology Inc. ATAPI-6 Bridge Controller, rev 2.00/0.01, addr 2 Apr 26 12:09:00 jupiter kernel: Timecounter "TSC" frequency 2395920468 Hz quality 800 Apr 26 12:09:00 jupiter kernel: Timecounters tick every 1.000 msec Apr 26 12:09:00 jupiter kernel: acd0: CDROM at ata1-master UDMA33 Apr 26 12:09:00 jupiter kernel: Waiting 5 seconds for SCSI devices to settle Apr 26 12:09:00 jupiter kernel: sa0 at ahc1 bus 0 target 4 lun 0 Apr 26 12:09:00 jupiter kernel: sa0: Removable Sequential Access SCSI-2 device Apr 26 12:09:00 jupiter kernel: sa0: 40.000MB/s transfers (20.000MHz, offset 7, 16bit) Apr 26 12:09:00 jupiter kernel: ses0 at ahc0 bus 0 target 6 lun 0 Apr 26 12:09:00 jupiter kernel: ses0: Fixed Processor SCSI-2 device Apr 26 12:09:00 jupiter kernel: ses0: 3.300MB/s transfers Apr 26 12:09:00 jupiter kernel: ses0: SAF-TE Compliant Device Apr 26 12:09:00 jupiter kernel: da0 at ahc0 bus 0 target 0 lun 0 Apr 26 12:09:00 jupiter kernel: da0: Fixed Direct Access SCSI-3 device Apr 26 12:09:00 jupiter kernel: da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled Apr 26 12:09:00 jupiter kernel: da0: 70007MB (143374744 512 byte sectors: 255H 63S/T 8924C) Apr 26 12:09:00 jupiter kernel: da1 at ahc0 bus 0 target 1 lun 0 Apr 26 12:09:00 jupiter kernel: da1: Fixed Direct Access SCSI-3 device Apr 26 12:09:00 jupiter kernel: da1: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled Apr 26 12:09:00 jupiter kernel: da1: 70007MB (143374744 512 byte sectors: 255H 63S/T 8924C) Apr 26 12:09:00 jupiter kernel: da2 at ahc0 bus 0 target 2 lun 0 Apr 26 12:09:00 jupiter kernel: da2: Fixed Direct Access SCSI-3 device Apr 26 12:09:00 jupiter kernel: da2: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled Apr 26 12:09:00 jupiter kernel: da2: 70007MB (143374744 512 byte sectors: 255H 63S/T 8924C) Apr 26 12:09:00 jupiter kernel: da3 at ahc0 bus 0 target 3 lun 0 Apr 26 12:09:00 jupiter kernel: da3: Fixed Direct Access SCSI-3 device Apr 26 12:09:00 jupiter kernel: da3: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled Apr 26 12:09:00 jupiter kernel: da3: 70007MB (143374744 512 byte sectors: 255H 63S/T 8924C) Apr 26 12:09:00 jupiter kernel: da4 at ahc0 bus 0 target 4 lun 0 Apr 26 12:09:00 jupiter kernel: da4: Fixed Direct Access SCSI-3 device Apr 26 12:09:00 jupiter kernel: da4: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled Apr 26 12:09:00 jupiter kernel: da4: 70007MB (143374744 512 byte sectors: 255H 63S/T 8924C) Apr 26 12:09:00 jupiter kernel: da5 at ahc0 bus 0 target 5 lun 0 Apr 26 12:09:00 jupiter kernel: da5: Fixed Direct Access SCSI-3 device Apr 26 12:09:00 jupiter kernel: da5: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled Apr 26 12:09:00 jupiter kernel: da5: 70007MB (143374744 512 byte sectors: 255H 63S/T 8924C) Apr 26 12:09:00 jupiter kernel: da6 at umass-sim0 bus 0 target 0 lun 0 Apr 26 12:09:00 jupiter kernel: da6: Fixed Direct Access SCSI-0 device Apr 26 12:09:00 jupiter kernel: da6: 1.000MB/s transfers Apr 26 12:09:00 jupiter kernel: da6: 286188MB (586114704 512 byte sectors: 255H 63S/T 36483C) From owner-freebsd-usb@FreeBSD.ORG Fri Apr 27 12:20:12 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DF60C16A400 for ; Fri, 27 Apr 2007 12:20:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 8A58613C457 for ; Fri, 27 Apr 2007 12:20:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3RCKC3T038202 for ; Fri, 27 Apr 2007 12:20:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3RCKCNT038201; Fri, 27 Apr 2007 12:20:12 GMT (envelope-from gnats) Date: Fri, 27 Apr 2007 12:20:12 GMT Message-Id: <200704271220.l3RCKCNT038201@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: Volker Cc: Subject: Re: usb/112161: [usbdevs] [patch] Option N.V. Fusion UMTS Quad-GPRS X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Volker List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 12:20:13 -0000 The following reply was made to PR usb/112161; it has been noted by GNATS. From: Volker To: bug-followup@FreeBSD.org, waldeck@gmx.de Cc: Subject: Re: usb/112161: [usbdevs] [patch] Option N.V. Fusion UMTS Quad-GPRS Date: Fri, 27 Apr 2007 14:16:07 +0200 Support for this card is already in the tree. It has been committed on 2007-02-04 which was too late for 6.2-RELEASE. To use these cards support is currently in 7-CURRENT and 6-STABLE. This PR is obsolete. From owner-freebsd-usb@FreeBSD.ORG Fri Apr 27 23:30:10 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DF15416A406 for ; Fri, 27 Apr 2007 23:30:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 8EB1B13C45E for ; Fri, 27 Apr 2007 23:30:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3RNU9Q8078102 for ; Fri, 27 Apr 2007 23:30:09 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3RNU94X078095; Fri, 27 Apr 2007 23:30:09 GMT (envelope-from gnats) Date: Fri, 27 Apr 2007 23:30:09 GMT Message-Id: <200704272330.l3RNU94X078095@freefall.freebsd.org> To: freebsd-usb@FreeBSD.org From: "Valery V.Chikalov" Cc: Subject: Re: usb/107642: [patch]Ralink Technology RT2501USB/RT2601USB chipset driver X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Valery V.Chikalov" List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 23:30:10 -0000 The following reply was made to PR usb/107642; it has been noted by GNATS. From: "Valery V.Chikalov" To: bug-followup@FreeBSD.org, valera@chikalov.dp.ua Cc: Subject: Re: usb/107642: [patch]Ralink Technology RT2501USB/RT2601USB chipset driver Date: Sun, 22 Apr 2007 11:32:18 +0300 This is a multi-part message in MIME format. --------------030900090303000507070905 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 if_rum(4) for 7.0-CURRENT replaced amrr_* functions by "standard" ones already existed in net80211/ieee80211_amrr.c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGKx14760S3kDvEC4RAn8PAKCn990QJE0wZRKcwdxAZ61MY0JRgACeI2W5 ZosSlh6pIqi7JdZ5Wi1BUYc= =LvWZ -----END PGP SIGNATURE----- --------------030900090303000507070905 Content-Type: text/plain; name="rum.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="rum.patch" SW5kZXg6IHN5cy9kZXYvdXNiL2lmX3J1bS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog c3lzL2Rldi91c2IvaWZfcnVtLmMNCmRpZmYgLU4gc3lzL2Rldi91c2IvaWZfcnVtLmMNCi0t LSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysrIHN5cy9kZXYvdXNi L2lmX3J1bS5jCTIyIEFwciAyMDA3IDA4OjAxOjU0IC0wMDAwDQpAQCAtMCwwICsxLDIyMjUg QEANCisvKiAgICAkT3BlbkJTRDogaWZfcnVtLmMsdiAxLjQwIDIwMDYvMDkvMTggMTY6MjA6 MjAgZGFtaWVuIEV4cCAkICAgICovDQorLyogICAgJE5ldEJTRDogaWZfcnVtLmMsdiAxLjIg MjAwNi8xMS8wMSAwODozOToyNSB4dHJhZW1lIEV4cCAkICAgICovDQorDQorLyotDQorICog Q29weXJpZ2h0IChjKSAyMDA1LCAyMDA2IERhbWllbiBCZXJnYW1pbmkgPGRhbWllbi5iZXJn YW1pbmlAZnJlZS5mcj4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDYgTmlhbGwgTydIaWdnaW5z IDxuaWFsbG9Ab3BlbmJzZC5vcmc+DQorICogQ29weXJpZ2h0IChjKSAyMDA2LCAyMDA3IFZh bGVyeSBWLkNoaWthbG92IDx2YWxlcmFAY2hpa2Fsb3YuZHAudWE+DQorICoNCisgKiBQZXJt aXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3 YXJlIGZvciBhbnkNCisgKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5 IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlDQorICogY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4NCisg Kg0KKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9S IERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUw0KKyAqIFdJVEggUkVHQVJEIFRPIFRISVMgU09G VFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YNCisgKiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUg TElBQkxFIEZPUg0KKyAqIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05T RVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMNCisgKiBXSEFUU09FVkVSIFJFU1VM VElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4N CisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMg QUNUSU9OLCBBUklTSU5HIE9VVCBPRg0KKyAqIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg VVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuDQorICovDQorDQorLyotDQor ICogUmFsaW5rIFRlY2hub2xvZ3kgUlQyNTAxVVNCL1JUMjYwMVVTQiBjaGlwc2V0IGRyaXZl cg0KKyAqIGh0dHA6Ly93d3cucmFsaW5rdGVjaC5jb20vDQorICovDQorDQorI2lmIGRlZmlu ZWQoX19OZXRCU0RfXykNCisjaW5jbHVkZSAib3B0X25zLmgiDQorI2VuZGlmDQorI2lmIGRl ZmluZWQoX19OZXRCU0RfXykNCisjaW5jbHVkZSAiYnBmaWx0ZXIuaCINCisjZW5kaWYNCisj aWYgZGVmaW5lZChfX0ZyZWVCU0RfXykNCisjZGVmaW5lIE5CUEZJTFRFUiAgIDENCisjZW5k aWYNCisjaWYgZGVmaW5lZChfX05ldEJTRF9fKQ0KKyNpbmNsdWRlICJybmQuaCINCisjZW5k aWYNCisNCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+DQorI2luY2x1ZGUgPHN5cy9zeXNjdGwu aD4NCisjaW5jbHVkZSA8c3lzL3NvY2tpby5oPg0KKyNpbmNsdWRlIDxzeXMvbWJ1Zi5oPg0K KyNpbmNsdWRlIDxzeXMva2VybmVsLmg+DQorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCisj aW5jbHVkZSA8c3lzL3N5c3RtLmg+DQorI2luY2x1ZGUgPHN5cy9tYWxsb2MuaD4NCisjaW5j bHVkZSA8c3lzL21vZHVsZS5oPg0KKyNpbmNsdWRlIDxzeXMvYnVzLmg+DQorI2luY2x1ZGUg PHN5cy9lbmRpYW4uaD4NCisjaW5jbHVkZSA8c3lzL2xpbmtlci5oPg0KKyNpbmNsdWRlIDxz eXMvZmlybXdhcmUuaD4NCisNCisjaW5jbHVkZSA8bWFjaGluZS9idXMuaD4NCisjaW5jbHVk ZSA8bWFjaGluZS9yZXNvdXJjZS5oPg0KKyNpbmNsdWRlIDxtYWNoaW5lL2Nsb2NrLmg+DQor I2luY2x1ZGUgPHN5cy9ybWFuLmg+DQorDQorI2luY2x1ZGUgPG5ldC9icGYuaD4NCisjaW5j bHVkZSA8bmV0L2lmLmg+DQorI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4NCisjaW5jbHVkZSA8 bmV0L2V0aGVybmV0Lmg+DQorI2luY2x1ZGUgPG5ldC9pZl9kbC5oPg0KKyNpbmNsdWRlIDxu ZXQvaWZfbWVkaWEuaD4NCisjaW5jbHVkZSA8bmV0L2lmX3R5cGVzLmg+DQorDQorI2luY2x1 ZGUgPG5ldDgwMjExL2llZWU4MDIxMV92YXIuaD4NCisjaW5jbHVkZSA8bmV0ODAyMTEvaWVl ZTgwMjExX3JhZGlvdGFwLmg+DQorI2luY2x1ZGUgPG5ldDgwMjExL2llZWU4MDIxMV9hbXJy Lmg+DQorDQorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCisjaW5jbHVkZSA8bmV0aW5ldC9p bl9zeXN0bS5oPg0KKyNpbmNsdWRlIDxuZXRpbmV0L2luX3Zhci5oPg0KKyNpbmNsdWRlIDxu ZXRpbmV0L2lwLmg+DQorI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4NCisNCisjaW5j bHVkZSA8ZGV2L3VzYi91c2IuaD4NCisjaW5jbHVkZSA8ZGV2L3VzYi91c2JkaS5oPg0KKyNp bmNsdWRlIDxkZXYvdXNiL3VzYmRpX3V0aWwuaD4NCisjaW5jbHVkZSAidXNiZGV2cy5oIg0K Kw0KKyNpbmNsdWRlIDxkZXYvdXNiL2lmX3J1bXJlZy5oPg0KKyNpbmNsdWRlIDxkZXYvdXNi L2lmX3J1bXZhci5oPg0KKw0KKyNpZmRlZiBVU0JfREVCVUcNCisjZGVmaW5lIFJVTV9ERUJV Rw0KKyNlbmRpZg0KKw0KKyNpZmRlZiBSVU1fREVCVUcNCitpbnQgcnVtX2RlYnVnID0gMDsN CisjZGVmaW5lIERQUklOVEYoeCkgICAgZG8geyBpZiAocnVtX2RlYnVnKSBsb2dwcmludGYg eDsgfSB3aGlsZSAoMCkNCisjZGVmaW5lIERQUklOVEZOKG4sIHgpICAgIGRvIHsgaWYgKHJ1 bV9kZWJ1ZyA+PSAobikpIGxvZ3ByaW50ZiB4OyB9IHdoaWxlICgwKQ0KKyNlbHNlDQorI2Rl ZmluZSBEUFJJTlRGKHgpDQorI2RlZmluZSBEUFJJTlRGTihuLCB4KQ0KKyNlbmRpZg0KKw0K Ky8qIHZhcmlvdXMgc3VwcG9ydGVkIGRldmljZSB2ZW5kb3JzL3Byb2R1Y3RzICovDQorc3Rh dGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2bm8gcnVtX2RldnNbXSA9IHsNCisgICAgeyBVU0Jf VkVORE9SX0FCT0NPTSwgICAgICAgIFVTQl9QUk9EVUNUX0FCT0NPTV9SVDI1NzMgfSwNCisg ICAgeyBVU0JfVkVORE9SX0FTVVMsICAgICAgICAgIFVTQl9QUk9EVUNUX0FTVVNfUlQyNTcz IH0sDQorICAgIHsgVVNCX1ZFTkRPUl9CRUxLSU4sICAgICAgICBVU0JfUFJPRFVDVF9CRUxL SU5fRjVENzA1MEEgfSwNCisgICAgeyBVU0JfVkVORE9SX0JFTEtJTiwgICAgICAgIFVTQl9Q Uk9EVUNUX0JFTEtJTl9GNUQ5MDUwVjMgfSwNCisgICAgeyBVU0JfVkVORE9SX0xJTktTWVM0 LCAgICAgIFVTQl9QUk9EVUNUX0xJTktTWVM0X1dVU0I1NEdDIH0sDQorICAgIHsgVVNCX1ZF TkRPUl9DT05DRVBUUk9OSUMyLCBVU0JfUFJPRFVDVF9DT05DRVBUUk9OSUMyX0M1NFJVMiB9 LA0KKyAgICB7IFVTQl9WRU5ET1JfRElDS1NNSVRILCAgICAgVVNCX1BST0RVQ1RfRElDS1NN SVRIX0NXRDg1NEYgfSwNCisgICAgeyBVU0JfVkVORE9SX0RJQ0tTTUlUSCwgICAgIFVTQl9Q Uk9EVUNUX0RJQ0tTTUlUSF9SVDI1NzMgfSwNCisgICAgeyBVU0JfVkVORE9SX0RMSU5LMiwg ICAgICAgIFVTQl9QUk9EVUNUX0RMSU5LMl9EV0xHMTIyQzEgfSwNCisgICAgeyBVU0JfVkVO RE9SX0RMSU5LMiwgICAgICAgIFVTQl9QUk9EVUNUX0RMSU5LMl9XVUExMzQwIH0sDQorICAg IHsgVVNCX1ZFTkRPUl9HSUdBQllURSwgICAgICBVU0JfUFJPRFVDVF9HSUdBQllURV9HTldC MDFHUyB9LA0KKyAgICB7IFVTQl9WRU5ET1JfR0lHQVNFVCwgICAgICAgVVNCX1BST0RVQ1Rf R0lHQVNFVF9SVDI1NzMgfSwNCisgICAgeyBVU0JfVkVORE9SX0dPT0RXQVksICAgICAgIFVT Ql9QUk9EVUNUX0dPT0RXQVlfUlQyNTczIH0sDQorICAgIHsgVVNCX1ZFTkRPUl9IVUFXRUkz Q09NLCAgICBVU0JfUFJPRFVDVF9IVUFXRUkzQ09NX1JUMjU3MyB9LA0KKyAgICB7IFVTQl9W RU5ET1JfTVNJLCAgICAgICAgICAgVVNCX1BST0RVQ1RfTVNJX1JUMjU3MyB9LA0KKyAgICB7 IFVTQl9WRU5ET1JfTVNJLCAgICAgICAgICAgVVNCX1BST0RVQ1RfTVNJX1JUMjU3M18yIH0s DQorICAgIHsgVVNCX1ZFTkRPUl9NU0ksICAgICAgICAgICBVU0JfUFJPRFVDVF9NU0lfUlQy NTczXzMgfSwNCisgICAgeyBVU0JfVkVORE9SX1BMQU5FWDIsICAgICAgIFVTQl9QUk9EVUNU X1BMQU5FWDJfR1dVU01NIH0sDQorICAgIHsgVVNCX1ZFTkRPUl9RQ09NLCAgICAgICAgICBV U0JfUFJPRFVDVF9RQ09NX1JUMjU3MyB9LA0KKyAgICB7IFVTQl9WRU5ET1JfUUNPTSwgICAg ICAgICAgVVNCX1BST0RVQ1RfUUNPTV9SVDI1NzNfMiB9LA0KKyAgICB7IFVTQl9WRU5ET1Jf UkFMSU5LLCAgICAgICAgVVNCX1BST0RVQ1RfUkFMSU5LX1JUMjU3MyB9LA0KKyAgICB7IFVT Ql9WRU5ET1JfUkFMSU5LLCAgICAgICAgVVNCX1BST0RVQ1RfUkFMSU5LX1JUMjY3MSB9LA0K KyAgICB7IFVTQl9WRU5ET1JfU0lURUNPTUVVLCAgICAgVVNCX1BST0RVQ1RfU0lURUNPTUVV X1dMMTEzUjIgfSwNCisgICAgeyBVU0JfVkVORE9SX1NJVEVDT01FVSwgICAgIFVTQl9QUk9E VUNUX1NJVEVDT01FVV9XTDE3MiB9LA0KKyAgICB7IFVTQl9WRU5ET1JfU1VSRUNPTSwgICAg ICAgVVNCX1BST0RVQ1RfU1VSRUNPTV9SVDI1NzMgfQ0KK307DQorDQorTU9EVUxFX0RFUEVO RChydW0sIHdsYW4sICAgICAxLCAxLCAxKTsNCitNT0RVTEVfREVQRU5EKHJ1bSwgZmlybXdh cmUsIDEsIDEsIDEpOw0KKw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fbG9hZF9mdyhzdHJ1 Y3QgcnVtX3NvZnRjICopOw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fc3RvcChzdHJ1Y3Qg aWZuZXQgKik7DQorDQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9pbml0KHZvaWQgKik7DQor c3RhdGljIGludCAgICAgICAgIHJ1bV9pb2N0bChzdHJ1Y3QgaWZuZXQgKiwgdV9sb25nLCBj YWRkcl90KTsNCitzdGF0aWMgdm9pZCAgICAgICAgcnVtX3N0YXJ0KHN0cnVjdCBpZm5ldCAq KTsNCitzdGF0aWMgdm9pZCAgICAgICAgcnVtX3dhdGNoZG9nKHN0cnVjdCBpZm5ldCAqKTsN CitzdGF0aWMgaW50ICAgICAgICAgcnVtX21lZGlhX2NoYW5nZShzdHJ1Y3QgaWZuZXQgKik7 DQorDQorc3RhdGljIGludCAgICAgICAgIHJ1bV9hbGxvY190eF9saXN0KHN0cnVjdCBydW1f c29mdGMgKik7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9mcmVlX3R4X2xpc3Qoc3RydWN0 IHJ1bV9zb2Z0YyAqKTsNCitzdGF0aWMgaW50ICAgICAgICAgcnVtX2FsbG9jX3J4X2xpc3Qo c3RydWN0IHJ1bV9zb2Z0YyAqKTsNCitzdGF0aWMgdm9pZCAgICAgICAgcnVtX2ZyZWVfcnhf bGlzdChzdHJ1Y3QgcnVtX3NvZnRjICopOw0KKw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1f dHhlb2YodXNiZF94ZmVyX2hhbmRsZSwgdXNiZF9wcml2YXRlX2hhbmRsZSwgdXNiZF9zdGF0 dXMpOw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fcnhlb2YodXNiZF94ZmVyX2hhbmRsZSwg dXNiZF9wcml2YXRlX2hhbmRsZSwgdXNiZF9zdGF0dXMpOw0KKw0KK3N0YXRpYyB2b2lkICAg ICAgICBydW1fdGFzayh2b2lkICopOw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fbmV4dF9z Y2FuKHZvaWQgKik7DQorc3RhdGljIGludCAgICAgICAgIHJ1bV9uZXdzdGF0ZShzdHJ1Y3Qg aWVlZTgwMjExY29tICosIGVudW0gaWVlZTgwMjExX3N0YXRlLCBpbnQpOw0KK3N0YXRpYyB1 aW50OF90ICAgICBydW1fcnhyYXRlKHN0cnVjdCBydW1fcnhfZGVzYyAqKTsNCitzdGF0aWMg aW50ICAgICAgICAgcnVtX2Fja19yYXRlKHN0cnVjdCBpZWVlODAyMTFjb20gKiwgaW50KTsN CitzdGF0aWMgdWludDE2X3QgICAgcnVtX3R4dGltZShpbnQsIGludCwgdWludDMyX3QpOw0K K3N0YXRpYyB1aW50OF90ICAgICBydW1fcGxjcF9zaWduYWwoaW50KTsNCisNCitzdGF0aWMg dm9pZCAgICAgICAgcnVtX3NldHVwX3R4X2Rlc2Moc3RydWN0IHJ1bV9zb2Z0YyAqLCBzdHJ1 Y3QgcnVtX3R4X2Rlc2MgKiwgdWludDMyX3QsIHVpbnQxNl90LCBpbnQsIGludCk7DQorc3Rh dGljIGludCAgICAgICAgIHJ1bV90eF9tZ3Qoc3RydWN0IHJ1bV9zb2Z0YyAqLCBzdHJ1Y3Qg bWJ1ZiAqLCBzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKik7DQorc3RhdGljIGludCAgICAgICAg IHJ1bV90eF9kYXRhKHN0cnVjdCBydW1fc29mdGMgKiwgc3RydWN0IG1idWYgKiwgc3RydWN0 IGllZWU4MDIxMV9ub2RlICopOw0KKw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fcmVhZF9l ZXByb20oc3RydWN0IHJ1bV9zb2Z0YyAqKTsNCitzdGF0aWMgdm9pZCAgICAgICAgcnVtX2Vl cHJvbV9yZWFkKHN0cnVjdCBydW1fc29mdGMgKiwgdWludDE2X3QsIHZvaWQgKiwgaW50KTsN CitzdGF0aWMgdWludDMyX3QgICAgcnVtX3JlYWQoc3RydWN0IHJ1bV9zb2Z0YyAqLCB1aW50 MTZfdCk7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9yZWFkX211bHRpKHN0cnVjdCBydW1f c29mdGMgKiwgdWludDE2X3QsIHZvaWQgKiwgaW50KTsNCitzdGF0aWMgdm9pZCAgICAgICAg cnVtX3dyaXRlKHN0cnVjdCBydW1fc29mdGMgKiwgdWludDE2X3QsIHVpbnQzMl90KTsNCitz dGF0aWMgdm9pZCAgICAgICAgcnVtX3dyaXRlX211bHRpKHN0cnVjdCBydW1fc29mdGMgKiwg dWludDE2X3QsIHZvaWQgKiwgc2l6ZV90KTsNCisNCitzdGF0aWMgaW50ICAgICAgICAgcnVt X2JicF9pbml0KHN0cnVjdCBydW1fc29mdGMgKik7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1 bV9iYnBfd3JpdGUoc3RydWN0IHJ1bV9zb2Z0YyAqLCB1aW50OF90LCB1aW50OF90KTsNCitz dGF0aWMgdWludDhfdCAgICAgcnVtX2JicF9yZWFkKHN0cnVjdCBydW1fc29mdGMgKiwgdWlu dDhfdCk7DQorDQorc3RhdGljIGNvbnN0IGNoYXIgICpydW1fZ2V0X3JmKGludCk7DQorc3Rh dGljIHZvaWQgICAgICAgIHJ1bV9yZl93cml0ZShzdHJ1Y3QgcnVtX3NvZnRjICosIHVpbnQ4 X3QsIHVpbnQzMl90KTsNCitzdGF0aWMgdm9pZCAgICAgICAgcnVtX3NlbGVjdF9hbnRlbm5h KHN0cnVjdCBydW1fc29mdGMgKik7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9lbmFibGVf bXJyKHN0cnVjdCBydW1fc29mdGMgKik7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9zZXRf dHhwcmVhbWJsZShzdHJ1Y3QgcnVtX3NvZnRjICopOw0KK3N0YXRpYyB2b2lkICAgICAgICBy dW1fc2V0X2Jhc2ljcmF0ZXMoc3RydWN0IHJ1bV9zb2Z0YyAqKTsNCitzdGF0aWMgdm9pZCAg ICAgICAgcnVtX3NlbGVjdF9iYW5kKHN0cnVjdCBydW1fc29mdGMgKiwgc3RydWN0IGllZWU4 MDIxMV9jaGFubmVsICopOw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fc2V0X2NoYW4oc3Ry dWN0IHJ1bV9zb2Z0YyAqLCBzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKik7DQorc3RhdGlj IHZvaWQgICAgICAgIHJ1bV9lbmFibGVfdHNmX3N5bmMoc3RydWN0IHJ1bV9zb2Z0YyAqKTsN CitzdGF0aWMgdm9pZCAgICAgICAgcnVtX3VwZGF0ZV9zbG90KHN0cnVjdCBydW1fc29mdGMg Kik7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9zZXRfYnNzaWQoc3RydWN0IHJ1bV9zb2Z0 YyAqLCBjb25zdCB1aW50OF90ICopOw0KK3N0YXRpYyB2b2lkICAgICAgICBydW1fc2V0X21h Y2FkZHIoc3RydWN0IHJ1bV9zb2Z0YyAqLCBjb25zdCB1aW50OF90ICopOw0KK3N0YXRpYyB2 b2lkICAgICAgICBydW1fdXBkYXRlX3Byb21pc2Moc3RydWN0IHJ1bV9zb2Z0YyAqKTsNCisN CitzdGF0aWMgaW50ICAgICAgICAgcnVtX3ByZXBhcmVfYmVhY29uKHN0cnVjdCBydW1fc29m dGMgKik7DQorDQorc3RhdGljIHZvaWQgICAgICAgIHJ1bV9hbXJyX3N0YXJ0KHN0cnVjdCBy dW1fc29mdGMgKiwgc3RydWN0IGllZWU4MDIxMV9ub2RlICopOw0KK3N0YXRpYyB2b2lkICAg ICAgICBydW1fYW1ycl90aW1lb3V0KHZvaWQgKik7DQorc3RhdGljIHZvaWQgICAgICAgIHJ1 bV9hbXJyX3VwZGF0ZSh1c2JkX3hmZXJfaGFuZGxlLCB1c2JkX3ByaXZhdGVfaGFuZGxlLCB1 c2JkX3N0YXR1cyBzdGF0dXMpOw0KKw0KKy8qDQorICogU3VwcG9ydGVkIHJhdGVzIGZvciA4 MDIuMTFhL2IvZyBtb2RlcyAoaW4gNTAwS2JwcyB1bml0KS4NCisgKi8NCitzdGF0aWMgY29u c3Qgc3RydWN0IGllZWU4MDIxMV9yYXRlc2V0IHJ1bV9yYXRlc2V0XzExYSA9DQorICAgIHsg OCwgeyAxMiwgMTgsIDI0LCAzNiwgNDgsIDcyLCA5NiwgMTA4IH0gfTsNCisNCitzdGF0aWMg Y29uc3Qgc3RydWN0IGllZWU4MDIxMV9yYXRlc2V0IHJ1bV9yYXRlc2V0XzExYiA9DQorICAg IHsgNCwgeyAyLCA0LCAxMSwgMjIgfSB9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaWVl ZTgwMjExX3JhdGVzZXQgcnVtX3JhdGVzZXRfMTFnID0NCisgICAgeyAxMiwgeyAyLCA0LCAx MSwgMjIsIDEyLCAxOCwgMjQsIDM2LCA0OCwgNzIsIDk2LCAxMDggfSB9Ow0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgew0KKyAgICB1aW50MzJfdCAgICByZWc7DQorICAgIHVpbnQzMl90 ICAgIHZhbDsNCit9IHJ1bV9kZWZfbWFjW10gPSB7DQorICAgIFJUMjU3M19ERUZfTUFDDQor fTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHsNCisgICAgdWludDhfdCAgICByZWc7DQor ICAgIHVpbnQ4X3QgICAgdmFsOw0KK30gcnVtX2RlZl9iYnBbXSA9IHsNCisgICAgUlQyNTcz X0RFRl9CQlANCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmZwcm9nIHsNCisgICAg dWludDhfdCAgICAgICAgY2hhbjsNCisgICAgdWludDMyX3QgICAgcjEsIHIyLCByMywgcjQ7 DQorfSAgcnVtX3JmNTIyNltdID0gew0KKyAgICBSVDI1NzNfUkY1MjI2DQorfSwgcnVtX3Jm NTIyNVtdID0gew0KKyAgICBSVDI1NzNfUkY1MjI1DQorfTsNCisNCitVU0JfREVDTEFSRV9E UklWRVIocnVtKTsNCisNCitVU0JfTUFUQ0gocnVtKQ0KK3sNCisgICAgVVNCX01BVENIX1NU QVJUKHJ1bSwgdWFhKTsNCisNCisgICAgaWYgKHVhYS0+aWZhY2UgIT0gTlVMTCkNCisgICAg ICAgIHJldHVybiBVTUFUQ0hfTk9ORTsNCisNCisgICAgcmV0dXJuICh1c2JfbG9va3VwKHJ1 bV9kZXZzLCB1YWEtPnZlbmRvciwgdWFhLT5wcm9kdWN0KSAhPSBOVUxMKSA/DQorICAgICAg ICBVTUFUQ0hfVkVORE9SX1BST0RVQ1QgOiBVTUFUQ0hfTk9ORTsNCit9DQorDQorc3RhdGlj IHZvaWQNCitydW1fbG9hZF9mdyhzdHJ1Y3QgcnVtX3NvZnRjICpzYykNCit7DQorICAgIGNv bnN0IGNoYXIgKmZ3X25hbWUgPSAicnQyNTczIjsNCisgICAgY29uc3Qgc3RydWN0IGZpcm13 YXJlICpmcDsNCisJdV9pbnQgaTsNCisJc2l6ZV90IHNpemU7DQorICAgIHVzYl9kZXZpY2Vf cmVxdWVzdF90IHJlcTsNCisgICAgdWludDE2X3QgcmVnID0gUlQyNTczX01DVV9DT0RFX0JB U0U7DQorICAgIHVzYmRfc3RhdHVzIGVycm9yOw0KKw0KKyAgICBmcCA9IGZpcm13YXJlX2dl dChmd19uYW1lKTsNCisNCisgICAgaWYgKGZwID09IE5VTEwgfHwgZnAtPmRhdGFzaXplID09 IDApIHsNCisgICAgICAgIHByaW50ZigiJXM6IGZhaWxlZCBsb2FkZmlybXdhcmUgb2YgZmls ZSAlc1xuIiwNCisgICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYp LCBmd19uYW1lKTsNCisgICAgICAgIHJldHVybjsNCisgICAgfSBlbHNlIHsNCisgICAgICAg IHByaW50ZigiJXM6IGZpcm13YXJlIGxvYWRlZDogbmFtZTogJXMsIHNpemU6JWRcbiIsIGRl dmljZV9nZXRfbmFtZXVuaXQoc2MtPnNjX2RldiksIGZwLT5uYW1lLCAoaW50KWZwLT5kYXRh c2l6ZSk7DQorICAgIH0NCisNCisgICAgLyogY29weSBmaXJtd2FyZSBpbWFnZSBpbnRvIE5J QyAqLw0KKyAgICBmb3IgKGkgPSAwLCBzaXplID0gZnAtPmRhdGFzaXplOyBzaXplID49IDQ7 IA0KKwkJCXJlZyArPSA0LCBpICs9IDQsIHNpemUgLT0gNCkNCisgICAgICAgIHJ1bV93cml0 ZShzYywgcmVnLCBVR0VURFcoKGNvbnN0IHVfY2hhciopZnAtPmRhdGEgKyBpKSk7DQorDQor ICAgIHJlcS5ibVJlcXVlc3RUeXBlID0gVVRfV1JJVEVfVkVORE9SX0RFVklDRTsNCisgICAg cmVxLmJSZXF1ZXN0ID0gUlQyNTczX01DVV9DTlRMOw0KKyAgICBVU0VUVyhyZXEud1ZhbHVl LCBSVDI1NzNfTUNVX1JVTik7DQorICAgIFVTRVRXKHJlcS53SW5kZXgsIDApOw0KKyAgICBV U0VUVyhyZXEud0xlbmd0aCwgMCk7DQorDQorICAgIGVycm9yID0gdXNiZF9kb19yZXF1ZXN0 KHNjLT5zY191ZGV2LCAmcmVxLCBOVUxMKTsNCisgICAgaWYgKGVycm9yICE9IDApIHsNCisg ICAgICAgIHByaW50ZigiJXM6IGNvdWxkIG5vdCBydW4gZmlybXdhcmU6ICVzXG4iLA0KKyAg ICAgICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQoc2MtPnNjX2RldiksIHVzYmRfZXJyc3Ry KGVycm9yKSk7DQorICAgICAgICBwcmludGYoIiVzOiBjb3VsZCBub3QgbG9hZCA4MDUxIG1p Y3JvY29kZVxuIiwNCisgICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19k ZXYpKTsNCisgICAgfQ0KKw0KK30NCisNCitVU0JfQVRUQUNIKHJ1bSkNCit7DQorICAgIFVT Ql9BVFRBQ0hfU1RBUlQocnVtLCBzYywgdWFhKTsNCisgICAgc3RydWN0IGllZWU4MDIxMWNv bSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICBzdHJ1Y3QgaWZuZXQgKmlmcCA9IE5VTEw7DQor ICAgIHVzYl9pbnRlcmZhY2VfZGVzY3JpcHRvcl90ICppZDsNCisgICAgdXNiX2VuZHBvaW50 X2Rlc2NyaXB0b3JfdCAqZWQ7DQorICAgIHVzYmRfc3RhdHVzIGVycm9yOw0KKyAgICBjaGFy IGRldmluZm9bMTAyNF07DQorICAgIGludCBpLCBudHJpZXM7DQorICAgIHVpbnQzMl90IHRt cDsNCisNCisJYnplcm8oc2MsIHNpemVvZihzdHJ1Y3QgcnVtX3NvZnRjKSk7DQorDQorICAg IHVzYmRfZGV2aW5mbyh1YWEtPmRldmljZSwgMCwgZGV2aW5mbyk7DQorDQorICAgIHNjLT5z Y191ZGV2ID0gdWFhLT5kZXZpY2U7DQorICAgIHNjLT5zY19mbGFncyA9IDA7DQorDQorICAg IFVTQl9BVFRBQ0hfU0VUVVA7DQorICAgIHByaW50ZigiJXM6ICVzXG4iLCBkZXZpY2VfZ2V0 X25hbWV1bml0KHNjLT5zY19kZXYpLCBkZXZpbmZvKTsNCisNCisgICAgaWYgKHVzYmRfc2V0 X2NvbmZpZ19ubyhzYy0+c2NfdWRldiwgUlQyNTczX0NPTkZJR19OTywgMCkgIT0gMCkgew0K KyAgICAgICAgcHJpbnRmKCIlczogY291bGQgbm90IHNldCBjb25maWd1cmF0aW9uIG5vXG4i LA0KKyAgICAgICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQoc2MtPnNjX2RldikpOw0KKyAg ICAgICAgVVNCX0FUVEFDSF9FUlJPUl9SRVRVUk47DQorICAgIH0NCisNCisgICAgLyogZ2V0 IHRoZSBmaXJzdCBpbnRlcmZhY2UgaGFuZGxlICovDQorICAgIGVycm9yID0gdXNiZF9kZXZp Y2UyaW50ZXJmYWNlX2hhbmRsZShzYy0+c2NfdWRldiwgUlQyNTczX0lGQUNFX0lOREVYLA0K KyAgICAgICAgJnNjLT5zY19pZmFjZSk7DQorICAgIGlmIChlcnJvciAhPSAwKSB7DQorICAg ICAgICBwcmludGYoIiVzOiBjb3VsZCBub3QgZ2V0IGludGVyZmFjZSBoYW5kbGVcbiIsDQor ICAgICAgICAgICAgZGV2aWNlX2dldF9uYW1ldW5pdChzYy0+c2NfZGV2KSk7DQorICAgICAg ICBVU0JfQVRUQUNIX0VSUk9SX1JFVFVSTjsNCisgICAgfQ0KKw0KKyAgICAvKg0KKyAgICAg KiBGaW5kIGVuZHBvaW50cy4NCisgICAgICovDQorICAgIGlkID0gdXNiZF9nZXRfaW50ZXJm YWNlX2Rlc2NyaXB0b3Ioc2MtPnNjX2lmYWNlKTsNCisNCisgICAgc2MtPnNjX3J4X25vID0g c2MtPnNjX3R4X25vID0gLTE7DQorICAgIGZvciAoaSA9IDA7IGkgPCBpZC0+Yk51bUVuZHBv aW50czsgaSsrKSB7DQorICAgICAgICBlZCA9IHVzYmRfaW50ZXJmYWNlMmVuZHBvaW50X2Rl c2NyaXB0b3Ioc2MtPnNjX2lmYWNlLCBpKTsNCisgICAgICAgIGlmIChlZCA9PSBOVUxMKSB7 DQorICAgICAgICAgICAgcHJpbnRmKCIlczogbm8gZW5kcG9pbnQgZGVzY3JpcHRvciBmb3Ig aWZhY2UgJWRcbiIsDQorICAgICAgICAgICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQoc2Mt PnNjX2RldiksIGkpOw0KKyAgICAgICAgICAgIFVTQl9BVFRBQ0hfRVJST1JfUkVUVVJOOw0K KyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKFVFX0dFVF9ESVIoZWQtPmJFbmRwb2ludEFk ZHJlc3MpID09IFVFX0RJUl9JTiAmJg0KKyAgICAgICAgICAgIFVFX0dFVF9YRkVSVFlQRShl ZC0+Ym1BdHRyaWJ1dGVzKSA9PSBVRV9CVUxLKQ0KKyAgICAgICAgICAgIHNjLT5zY19yeF9u byA9IGVkLT5iRW5kcG9pbnRBZGRyZXNzOw0KKyAgICAgICAgZWxzZSBpZiAoVUVfR0VUX0RJ UihlZC0+YkVuZHBvaW50QWRkcmVzcykgPT0gVUVfRElSX09VVCAmJg0KKyAgICAgICAgICAg IFVFX0dFVF9YRkVSVFlQRShlZC0+Ym1BdHRyaWJ1dGVzKSA9PSBVRV9CVUxLKQ0KKyAgICAg ICAgICAgIHNjLT5zY190eF9ubyA9IGVkLT5iRW5kcG9pbnRBZGRyZXNzOw0KKyAgICB9DQor ICAgIGlmIChzYy0+c2Nfcnhfbm8gPT0gLTEgfHwgc2MtPnNjX3R4X25vID09IC0xKSB7DQor ICAgICAgICBwcmludGYoIiVzOiBtaXNzaW5nIGVuZHBvaW50XG4iLCBkZXZpY2VfZ2V0X25h bWV1bml0KHNjLT5zY19kZXYpKTsNCisgICAgICAgIFVTQl9BVFRBQ0hfRVJST1JfUkVUVVJO Ow0KKyAgICB9DQorCQ0KKyAgICBtdHhfaW5pdCgmc2MtPnNjX210eCwgZGV2aWNlX2dldF9u YW1ldW5pdChzYy0+c2NfZGV2KSwgTVRYX05FVFdPUktfTE9DSywgDQorCQlNVFhfREVGIHwg TVRYX1JFQ1VSU0UpOw0KKw0KKyAgICB1c2JfaW5pdF90YXNrKCZzYy0+c2NfdGFzaywgcnVt X3Rhc2ssIHNjKTsNCisgICAgY2FsbG91dF9pbml0KCZzYy0+c2Nhbl9jaCwgZGVidWdfbXBz YWZlbmV0ID8gQ0FMTE9VVF9NUFNBRkUgOiAwKTsNCisgICAgY2FsbG91dF9pbml0KCZzYy0+ YW1ycl9jaCwgMCk7DQorDQorICAgIC8qIHJldHJpZXZlIFJUMjU3MyByZXYuIG5vICovDQor ICAgIGZvciAobnRyaWVzID0gMDsgbnRyaWVzIDwgMTAwMDsgbnRyaWVzKyspIHsNCisgICAg ICAgIGlmICgodG1wID0gcnVtX3JlYWQoc2MsIFJUMjU3M19NQUNfQ1NSMCkpICE9IDApDQor ICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICBERUxBWSgxMDAwKTsNCisgICAgfQ0KKyAg ICBpZiAobnRyaWVzID09IDEwMDApIHsNCisgICAgICAgIHByaW50ZigiJXM6IHRpbWVvdXQg d2FpdGluZyBmb3IgY2hpcCB0byBzZXR0bGVcbiIsDQorICAgICAgICAgICAgZGV2aWNlX2dl dF9uYW1ldW5pdChzYy0+c2NfZGV2KSk7DQorICAgICAgICBVU0JfQVRUQUNIX0VSUk9SX1JF VFVSTjsNCisgICAgfQ0KKw0KKyAgICAvKiByZXRyaWV2ZSBNQUMgYWRkcmVzcyBhbmQgdmFy aW91cyBvdGhlciB0aGluZ3MgZnJvbSBFRVBST00gKi8NCisgICAgcnVtX3JlYWRfZWVwcm9t KHNjKTsNCisNCisgICAgcHJpbnRmKCIlczogTUFDL0JCUCBSVCUwNHggKHJldiAweCUwNXgp LCBSRiAlcywgYWRkcmVzcyAlc1xuIiwNCisgICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQo c2MtPnNjX2RldiksIHNjLT5tYWNiYnBfcmV2LCB0bXAsDQorICAgICAgICBydW1fZ2V0X3Jm KHNjLT5yZl9yZXYpLCBldGhlcl9zcHJpbnRmKGljLT5pY19teWFkZHIpKTsNCisNCisgICAg aWZwID0gc2MtPnNjX2lmcCA9IGlmX2FsbG9jKElGVF9FVEhFUik7DQorICAgIGlmIChpZnAg PT0gTlVMTCkgew0KKyAgICAgICAgcHJpbnRmKCIlczogY2FuIG5vdCBpZl9hbGxvYygpXG4i LCBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpKTsNCisgICAgICAgIFVTQl9BVFRB Q0hfRVJST1JfUkVUVVJOOw0KKyAgICB9DQorDQorI2lmIDENCisgICAgcnVtX2xvYWRfZnco c2MpOw0KKyNlbmRpZg0KKw0KKyAgICBpYy0+aWNfaWZwID0gaWZwOw0KKyAgICBpYy0+aWNf cGh5dHlwZSA9IElFRUU4MDIxMV9UX09GRE07ICAgIC8qIG5vdCBvbmx5LCBidXQgbm90IHVz ZWQgKi8NCisgICAgaWMtPmljX29wbW9kZSAgPSBJRUVFODAyMTFfTV9TVEE7ICAgIC8qIGRl ZmF1bHQgdG8gQlNTIG1vZGUgKi8NCisgICAgaWMtPmljX3N0YXRlICAgPSBJRUVFODAyMTFf U19JTklUOw0KKw0KKyAgICAvKiBzZXQgZGV2aWNlIGNhcGFiaWxpdGllcyAqLw0KKyAgICBp Yy0+aWNfY2FwcyA9DQorICAgICAgICBJRUVFODAyMTFfQ19JQlNTIHwgICAgICAgIC8qIElC U1MgbW9kZSBzdXBwb3J0ZWQgKi8NCisgICAgICAgIElFRUU4MDIxMV9DX01PTklUT1IgfCAg ICAvKiBtb25pdG9yIG1vZGUgc3VwcG9ydGVkICovDQorICAgICAgICBJRUVFODAyMTFfQ19I T1NUQVAgfCAgICAvKiBIb3N0QXAgbW9kZSBzdXBwb3J0ZWQgKi8NCisgICAgICAgIElFRUU4 MDIxMV9DX1RYUE1HVCB8ICAgIC8qIHR4IHBvd2VyIG1hbmFnZW1lbnQgKi8NCisgICAgICAg IElFRUU4MDIxMV9DX1NIUFJFQU1CTEUgfCAgICAvKiBzaG9ydCBwcmVhbWJsZSBzdXBwb3J0 ZWQgKi8NCisgICAgICAgIElFRUU4MDIxMV9DX1NIU0xPVCB8ICAgIC8qIHNob3J0IHNsb3Qg dGltZSBzdXBwb3J0ZWQgKi8NCisgICAgICAgIElFRUU4MDIxMV9DX1dQQTsgICAgICAgIC8q IDgwMi4xMWkgKi8NCisNCisgICAgaWYgKHNjLT5yZl9yZXYgPT0gUlQyNTczX1JGXzUyMjUg fHwgc2MtPnJmX3JldiA9PSBSVDI1NzNfUkZfNTIyNikgew0KKyAgICAgICAgLyogc2V0IHN1 cHBvcnRlZCAuMTFhIHJhdGVzICovDQorICAgICAgICBpYy0+aWNfc3VwX3JhdGVzW0lFRUU4 MDIxMV9NT0RFXzExQV0gPSBydW1fcmF0ZXNldF8xMWE7DQorDQorICAgICAgICAvKiBzZXQg c3VwcG9ydGVkIC4xMWEgY2hhbm5lbHMgKi8NCisgICAgICAgIGZvciAoaSA9IDM0OyBpIDw9 IDQ2OyBpICs9IDQpIHsNCisgICAgICAgICAgICBpYy0+aWNfY2hhbm5lbHNbaV0uaWNfZnJl cSA9DQorICAgICAgICAgICAgICAgIGllZWU4MDIxMV9pZWVlMm1oeihpLCBJRUVFODAyMTFf Q0hBTl81R0haKTsNCisgICAgICAgICAgICBpYy0+aWNfY2hhbm5lbHNbaV0uaWNfZmxhZ3Mg PSBJRUVFODAyMTFfQ0hBTl9BOw0KKyAgICAgICAgfQ0KKyAgICAgICAgZm9yIChpID0gMzY7 IGkgPD0gNjQ7IGkgKz0gNCkgew0KKyAgICAgICAgICAgIGljLT5pY19jaGFubmVsc1tpXS5p Y19mcmVxID0NCisgICAgICAgICAgICAgICAgaWVlZTgwMjExX2llZWUybWh6KGksIElFRUU4 MDIxMV9DSEFOXzVHSFopOw0KKyAgICAgICAgICAgIGljLT5pY19jaGFubmVsc1tpXS5pY19m bGFncyA9IElFRUU4MDIxMV9DSEFOX0E7DQorICAgICAgICB9DQorICAgICAgICBmb3IgKGkg PSAxMDA7IGkgPD0gMTQwOyBpICs9IDQpIHsNCisgICAgICAgICAgICBpYy0+aWNfY2hhbm5l bHNbaV0uaWNfZnJlcSA9DQorICAgICAgICAgICAgICAgIGllZWU4MDIxMV9pZWVlMm1oeihp LCBJRUVFODAyMTFfQ0hBTl81R0haKTsNCisgICAgICAgICAgICBpYy0+aWNfY2hhbm5lbHNb aV0uaWNfZmxhZ3MgPSBJRUVFODAyMTFfQ0hBTl9BOw0KKyAgICAgICAgfQ0KKyAgICAgICAg Zm9yIChpID0gMTQ5OyBpIDw9IDE2NTsgaSArPSA0KSB7DQorICAgICAgICAgICAgaWMtPmlj X2NoYW5uZWxzW2ldLmljX2ZyZXEgPQ0KKyAgICAgICAgICAgICAgICBpZWVlODAyMTFfaWVl ZTJtaHooaSwgSUVFRTgwMjExX0NIQU5fNUdIWik7DQorICAgICAgICAgICAgaWMtPmljX2No YW5uZWxzW2ldLmljX2ZsYWdzID0gSUVFRTgwMjExX0NIQU5fQTsNCisgICAgICAgIH0NCisg ICAgfQ0KKw0KKyAgICAvKiBzZXQgc3VwcG9ydGVkIC4xMWIgYW5kIC4xMWcgcmF0ZXMgKi8N CisgICAgaWMtPmljX3N1cF9yYXRlc1tJRUVFODAyMTFfTU9ERV8xMUJdID0gcnVtX3JhdGVz ZXRfMTFiOw0KKyAgICBpYy0+aWNfc3VwX3JhdGVzW0lFRUU4MDIxMV9NT0RFXzExR10gPSBy dW1fcmF0ZXNldF8xMWc7DQorDQorICAgIC8qIHNldCBzdXBwb3J0ZWQgLjExYiBhbmQgLjEx ZyBjaGFubmVscyAoMSB0aHJvdWdoIDE0KSAqLw0KKyAgICBmb3IgKGkgPSAxOyBpIDw9IDE0 OyBpKyspIHsNCisgICAgICAgIGljLT5pY19jaGFubmVsc1tpXS5pY19mcmVxID0NCisgICAg ICAgICAgICBpZWVlODAyMTFfaWVlZTJtaHooaSwgSUVFRTgwMjExX0NIQU5fMkdIWik7DQor ICAgICAgICBpYy0+aWNfY2hhbm5lbHNbaV0uaWNfZmxhZ3MgPQ0KKyAgICAgICAgICAgIElF RUU4MDIxMV9DSEFOX0NDSyB8IElFRUU4MDIxMV9DSEFOX09GRE0gfA0KKyAgICAgICAgICAg IElFRUU4MDIxMV9DSEFOX0RZTiB8IElFRUU4MDIxMV9DSEFOXzJHSFo7DQorICAgIH0NCisN CisgICAgaWZwLT5pZl9zb2Z0YyA9IHNjOw0KKyAgICBpZl9pbml0bmFtZShpZnAsICJydW0i LCBkZXZpY2VfZ2V0X3VuaXQoc2MtPnNjX2RldikpOw0KKyAgICBpZnAtPmlmX2ZsYWdzID0g SUZGX0JST0FEQ0FTVCB8IElGRl9TSU1QTEVYIHwgSUZGX01VTFRJQ0FTVCB8IElGRl9ORUVE U0dJQU5UOw0KKyAgICBpZnAtPmlmX2luaXQgICAgID0gcnVtX2luaXQ7DQorICAgIGlmcC0+ aWZfaW9jdGwgICAgPSBydW1faW9jdGw7DQorICAgIGlmcC0+aWZfc3RhcnQgICAgPSBydW1f c3RhcnQ7DQorICAgIGlmcC0+aWZfd2F0Y2hkb2cgPSBydW1fd2F0Y2hkb2c7DQorDQorICAg IElGUV9TRVRfTUFYTEVOKCZpZnAtPmlmX3NuZCwgSUZRX01BWExFTik7DQorICAgIElGUV9T RVRfUkVBRFkoJmlmcC0+aWZfc25kKTsNCisNCisgICAgaWVlZTgwMjExX2lmYXR0YWNoKGlj KTsNCisNCisgICAgLyogb3ZlcnJpZGUgc3RhdGUgdHJhbnNpdGlvbiBtYWNoaW5lICovDQor ICAgIHNjLT5zY19uZXdzdGF0ZSA9IGljLT5pY19uZXdzdGF0ZTsNCisgICAgaWMtPmljX25l d3N0YXRlID0gcnVtX25ld3N0YXRlOw0KKyAgICBpZWVlODAyMTFfbWVkaWFfaW5pdChpYywg cnVtX21lZGlhX2NoYW5nZSwgaWVlZTgwMjExX21lZGlhX3N0YXR1cyk7DQorDQorICAgIGJw ZmF0dGFjaDIoaWZwLCBETFRfSUVFRTgwMl8xMV9SQURJTywNCisgICAgICAgIHNpemVvZiAo c3RydWN0IGllZWU4MDIxMV9mcmFtZSkgKyBJRUVFODAyMTFfUkFESU9UQVBfSERSTEVOLCAm c2MtPnNjX2RydmJwZik7DQorDQorICAgIHNjLT5zY19yeHRhcF9sZW4gPSBzaXplb2Ygc2Mt PnNjX3J4dGFwdTsNCisgICAgc2MtPnNjX3J4dGFwLndyX2loZHIuaXRfbGVuID0gaHRvbGUx NihzYy0+c2Nfcnh0YXBfbGVuKTsNCisgICAgc2MtPnNjX3J4dGFwLndyX2loZHIuaXRfcHJl c2VudCA9IGh0b2xlMzIoUlQyNTczX1JYX1JBRElPVEFQX1BSRVNFTlQpOw0KKw0KKyAgICBz Yy0+c2NfdHh0YXBfbGVuID0gc2l6ZW9mIHNjLT5zY190eHRhcHU7DQorICAgIHNjLT5zY190 eHRhcC53dF9paGRyLml0X2xlbiA9IGh0b2xlMTYoc2MtPnNjX3R4dGFwX2xlbik7DQorICAg IHNjLT5zY190eHRhcC53dF9paGRyLml0X3ByZXNlbnQgPSBodG9sZTMyKFJUMjU3M19UWF9S QURJT1RBUF9QUkVTRU5UKTsNCisNCisJaWYgKGJvb3R2ZXJib3NlKQ0KKyAgICAJaWVlZTgw MjExX2Fubm91bmNlKGljKTsNCisNCisgICAgVVNCX0FUVEFDSF9TVUNDRVNTX1JFVFVSTjsN Cit9DQorDQorVVNCX0RFVEFDSChydW0pDQorew0KKyAgICBVU0JfREVUQUNIX1NUQVJUKHJ1 bSwgc2MpOw0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2NfaWM7DQor ICAgIHN0cnVjdCBpZm5ldCAqaWZwID0gc2MtPnNjX2lmcDsNCisNCisgICAgcnVtX3N0b3Ao aWZwKTsNCisgICAgdXNiX3JlbV90YXNrKHNjLT5zY191ZGV2LCAmc2MtPnNjX3Rhc2spOw0K KyAgICBjYWxsb3V0X3N0b3AoJnNjLT5zY2FuX2NoKTsNCisgICAgY2FsbG91dF9zdG9wKCZz Yy0+YW1ycl9jaCk7DQorDQorICAgIGlmIChzYy0+YW1ycl94ZmVyICE9IE5VTEwpIHsNCisg ICAgICAgIHVzYmRfZnJlZV94ZmVyKHNjLT5hbXJyX3hmZXIpOw0KKyAgICAgICAgc2MtPmFt cnJfeGZlciA9IE5VTEw7DQorICAgIH0NCisNCisgICAgaWYgKHNjLT5zY19yeF9waXBlaCAh PSBOVUxMKSB7DQorICAgICAgICB1c2JkX2Fib3J0X3BpcGUoc2MtPnNjX3J4X3BpcGVoKTsN CisgICAgICAgIHVzYmRfY2xvc2VfcGlwZShzYy0+c2NfcnhfcGlwZWgpOw0KKyAgICB9DQor DQorICAgIGlmIChzYy0+c2NfdHhfcGlwZWggIT0gTlVMTCkgew0KKyAgICAgICAgdXNiZF9h Ym9ydF9waXBlKHNjLT5zY190eF9waXBlaCk7DQorICAgICAgICB1c2JkX2Nsb3NlX3BpcGUo c2MtPnNjX3R4X3BpcGVoKTsNCisgICAgfQ0KKw0KKyAgICBydW1fZnJlZV9yeF9saXN0KHNj KTsNCisgICAgcnVtX2ZyZWVfdHhfbGlzdChzYyk7DQorDQorICAgIGJwZmRldGFjaChpZnAp Ow0KKyAgICBpZWVlODAyMTFfaWZkZXRhY2goaWMpOyAgICAvKiBmcmVlIGFsbCBub2RlcyAq Lw0KKyAvLyAgIGlmX2RldGFjaChpZnApOw0KKyAgICBpZl9mcmVlKGlmcCk7DQorDQorLyoN CisgICAgdXNiZF9hZGRfZHJ2X2V2ZW50KFVTQl9FVkVOVF9EUklWRVJfREVUQUNILCBzYy0+ c2NfdWRldiwNCisgICAgICAgIFVTQkRFVihzYy0+c2NfZGV2KSk7DQorKi8NCisgICAgbXR4 X2Rlc3Ryb3koJnNjLT5zY19tdHgpOw0KKw0KKyAgICByZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludA0KK3J1bV9hbGxvY190eF9saXN0KHN0cnVjdCBydW1fc29mdGMgKnNjKQ0KK3sN CisgICAgc3RydWN0IHJ1bV90eF9kYXRhICpkYXRhOw0KKyAgICBpbnQgaSwgZXJyb3I7DQor DQorICAgIHNjLT50eF9xdWV1ZWQgPSAwOw0KKw0KKyAgICBmb3IgKGkgPSAwOyBpIDwgUlQy NTczX1RYX0xJU1RfQ09VTlQ7IGkrKykgew0KKyAgICAgICAgZGF0YSA9ICZzYy0+dHhfZGF0 YVtpXTsNCisNCisgICAgICAgIGRhdGEtPnNjID0gc2M7DQorDQorICAgICAgICBkYXRhLT54 ZmVyID0gdXNiZF9hbGxvY194ZmVyKHNjLT5zY191ZGV2KTsNCisgICAgICAgIGlmIChkYXRh LT54ZmVyID09IE5VTEwpIHsNCisgICAgICAgICAgICBwcmludGYoIiVzOiBjb3VsZCBub3Qg YWxsb2NhdGUgdHggeGZlclxuIiwNCisgICAgICAgICAgICAgICAgZGV2aWNlX2dldF9uYW1l dW5pdChzYy0+c2NfZGV2KSk7DQorICAgICAgICAgICAgZXJyb3IgPSBFTk9NRU07DQorICAg ICAgICAgICAgZ290byBmYWlsOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZGF0YS0+YnVm ID0gdXNiZF9hbGxvY19idWZmZXIoZGF0YS0+eGZlciwNCisgICAgICAgICAgICBSVDI1NzNf VFhfREVTQ19TSVpFICsgTUNMQllURVMpOw0KKyAgICAgICAgaWYgKGRhdGEtPmJ1ZiA9PSBO VUxMKSB7DQorICAgICAgICAgICAgcHJpbnRmKCIlczogY291bGQgbm90IGFsbG9jYXRlIHR4 IGJ1ZmZlclxuIiwNCisgICAgICAgICAgICAgICAgZGV2aWNlX2dldF9uYW1ldW5pdChzYy0+ c2NfZGV2KSk7DQorICAgICAgICAgICAgZXJyb3IgPSBFTk9NRU07DQorICAgICAgICAgICAg Z290byBmYWlsOw0KKyAgICAgICAgfQ0KKyAgICB9DQorDQorICAgIHJldHVybiAwOw0KKw0K K2ZhaWw6ICAgIHJ1bV9mcmVlX3R4X2xpc3Qoc2MpOw0KKyAgICByZXR1cm4gZXJyb3I7DQor fQ0KKw0KK3N0YXRpYyB2b2lkDQorcnVtX2ZyZWVfdHhfbGlzdChzdHJ1Y3QgcnVtX3NvZnRj ICpzYykNCit7DQorICAgIHN0cnVjdCBydW1fdHhfZGF0YSAqZGF0YTsNCisgICAgaW50IGk7 DQorDQorICAgIGZvciAoaSA9IDA7IGkgPCBSVDI1NzNfVFhfTElTVF9DT1VOVDsgaSsrKSB7 DQorICAgICAgICBkYXRhID0gJnNjLT50eF9kYXRhW2ldOw0KKw0KKyAgICAgICAgaWYgKGRh dGEtPnhmZXIgIT0gTlVMTCkgew0KKyAgICAgICAgICAgIHVzYmRfZnJlZV94ZmVyKGRhdGEt PnhmZXIpOw0KKyAgICAgICAgICAgIGRhdGEtPnhmZXIgPSBOVUxMOw0KKyAgICAgICAgfQ0K Kw0KKyAgICAgICAgaWYgKGRhdGEtPm5pICE9IE5VTEwpIHsNCisgICAgICAgICAgICBpZWVl ODAyMTFfZnJlZV9ub2RlKGRhdGEtPm5pKTsNCisgICAgICAgICAgICBkYXRhLT5uaSA9IE5V TEw7DQorICAgICAgICB9DQorICAgIH0NCit9DQorDQorc3RhdGljIGludA0KK3J1bV9hbGxv Y19yeF9saXN0KHN0cnVjdCBydW1fc29mdGMgKnNjKQ0KK3sNCisgICAgc3RydWN0IHJ1bV9y eF9kYXRhICpkYXRhOw0KKyAgICBpbnQgaSwgZXJyb3I7DQorDQorICAgIGZvciAoaSA9IDA7 IGkgPCBSVDI1NzNfUlhfTElTVF9DT1VOVDsgaSsrKSB7DQorICAgICAgICBkYXRhID0gJnNj LT5yeF9kYXRhW2ldOw0KKw0KKyAgICAgICAgZGF0YS0+c2MgPSBzYzsNCisNCisgICAgICAg IGRhdGEtPnhmZXIgPSB1c2JkX2FsbG9jX3hmZXIoc2MtPnNjX3VkZXYpOw0KKyAgICAgICAg aWYgKGRhdGEtPnhmZXIgPT0gTlVMTCkgew0KKyAgICAgICAgICAgIHByaW50ZigiJXM6IGNv dWxkIG5vdCBhbGxvY2F0ZSByeCB4ZmVyXG4iLA0KKyAgICAgICAgICAgICAgICBkZXZpY2Vf Z2V0X25hbWV1bml0KHNjLT5zY19kZXYpKTsNCisgICAgICAgICAgICBlcnJvciA9IEVOT01F TTsNCisgICAgICAgICAgICBnb3RvIGZhaWw7DQorICAgICAgICB9DQorDQorICAgICAgICBp ZiAodXNiZF9hbGxvY19idWZmZXIoZGF0YS0+eGZlciwgTUNMQllURVMpID09IE5VTEwpIHsN CisgICAgICAgICAgICBwcmludGYoIiVzOiBjb3VsZCBub3QgYWxsb2NhdGUgcnggYnVmZmVy XG4iLA0KKyAgICAgICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYp KTsNCisgICAgICAgICAgICBlcnJvciA9IEVOT01FTTsNCisgICAgICAgICAgICBnb3RvIGZh aWw7DQorICAgICAgICB9DQorDQorICAgICAgICBNR0VUSERSKGRhdGEtPm0sIE1fRE9OVFdB SVQsIE1UX0RBVEEpOw0KKyAgICAgICAgaWYgKGRhdGEtPm0gPT0gTlVMTCkgew0KKyAgICAg ICAgICAgIHByaW50ZigiJXM6IGNvdWxkIG5vdCBhbGxvY2F0ZSByeCBtYnVmXG4iLA0KKyAg ICAgICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpKTsNCisgICAg ICAgICAgICBlcnJvciA9IEVOT01FTTsNCisgICAgICAgICAgICBnb3RvIGZhaWw7DQorICAg ICAgICB9DQorDQorICAgICAgICBNQ0xHRVQoZGF0YS0+bSwgTV9ET05UV0FJVCk7DQorICAg ICAgICBpZiAoIShkYXRhLT5tLT5tX2ZsYWdzICYgTV9FWFQpKSB7DQorICAgICAgICAgICAg cHJpbnRmKCIlczogY291bGQgbm90IGFsbG9jYXRlIHJ4IG1idWYgY2x1c3RlclxuIiwNCisg ICAgICAgICAgICAgICAgZGV2aWNlX2dldF9uYW1ldW5pdChzYy0+c2NfZGV2KSk7DQorICAg ICAgICAgICAgZXJyb3IgPSBFTk9NRU07DQorICAgICAgICAgICAgZ290byBmYWlsOw0KKyAg ICAgICAgfQ0KKw0KKyAgICAgICAgZGF0YS0+YnVmID0gbXRvZChkYXRhLT5tLCB1aW50OF90 ICopOw0KKyAgICB9DQorDQorICAgIHJldHVybiAwOw0KKw0KK2ZhaWw6ICAgIHJ1bV9mcmVl X3R4X2xpc3Qoc2MpOw0KKyAgICByZXR1cm4gZXJyb3I7DQorfQ0KKw0KK3N0YXRpYyB2b2lk DQorcnVtX2ZyZWVfcnhfbGlzdChzdHJ1Y3QgcnVtX3NvZnRjICpzYykNCit7DQorICAgIHN0 cnVjdCBydW1fcnhfZGF0YSAqZGF0YTsNCisgICAgaW50IGk7DQorDQorICAgIGZvciAoaSA9 IDA7IGkgPCBSVDI1NzNfUlhfTElTVF9DT1VOVDsgaSsrKSB7DQorICAgICAgICBkYXRhID0g JnNjLT5yeF9kYXRhW2ldOw0KKw0KKyAgICAgICAgaWYgKGRhdGEtPnhmZXIgIT0gTlVMTCkg ew0KKyAgICAgICAgICAgIHVzYmRfZnJlZV94ZmVyKGRhdGEtPnhmZXIpOw0KKyAgICAgICAg ICAgIGRhdGEtPnhmZXIgPSBOVUxMOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKGRh dGEtPm0gIT0gTlVMTCkgew0KKyAgICAgICAgICAgIG1fZnJlZW0oZGF0YS0+bSk7DQorICAg ICAgICAgICAgZGF0YS0+bSA9IE5VTEw7DQorICAgICAgICB9DQorICAgIH0NCit9DQorDQor c3RhdGljIGludA0KK3J1bV9tZWRpYV9jaGFuZ2Uoc3RydWN0IGlmbmV0ICppZnApDQorew0K KyAgICBzdHJ1Y3QgcnVtX3NvZnRjICpzYyA9IGlmcC0+aWZfc29mdGM7DQorICAgIGludCBl cnJvcjsNCisNCisgICAgUlVNX0xPQ0soc2MpOw0KKw0KKyAgICBlcnJvciA9IGllZWU4MDIx MV9tZWRpYV9jaGFuZ2UoaWZwKTsNCisgICAgaWYgKGVycm9yICE9IEVORVRSRVNFVCl7DQor ICAgIAlSVU1fVU5MT0NLKHNjKTsNCisgICAgICAgIHJldHVybiBlcnJvcjsNCisgICAgfQ0K Kw0KKyAgICBpZiAoKGlmcC0+aWZfZmxhZ3MgJiBJRkZfVVApICYmDQorICAgICAgICAoaWZw LT5pZl9kcnZfZmxhZ3MgJiBJRkZfRFJWX1JVTk5JTkcpKQ0KKyAgICAgICAgcnVtX2luaXQo c2MpOw0KKw0KKyAgICBSVU1fVU5MT0NLKHNjKTsNCisNCisgICAgcmV0dXJuIDA7DQorfQ0K Kw0KKy8qDQorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgcGVyaW9kaWNhbGx5IChldmVy eSAyMDBtcykgZHVyaW5nIHNjYW5uaW5nIHRvDQorICogc3dpdGNoIGZyb20gb25lIGNoYW5u ZWwgdG8gYW5vdGhlci4NCisgKi8NCitzdGF0aWMgdm9pZA0KK3J1bV9uZXh0X3NjYW4odm9p ZCAqYXJnKQ0KK3sNCisgICAgc3RydWN0IHJ1bV9zb2Z0YyAqc2MgPSBhcmc7DQorICAgIHN0 cnVjdCBpZWVlODAyMTFjb20gKmljID0gJnNjLT5zY19pYzsNCisNCisgICAgaWYgKGljLT5p Y19zdGF0ZSA9PSBJRUVFODAyMTFfU19TQ0FOKQ0KKyAgICAgICAgaWVlZTgwMjExX25leHRf c2NhbihpYyk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorcnVtX3Rhc2sodm9pZCAqYXJnKQ0K K3sNCisgICAgc3RydWN0IHJ1bV9zb2Z0YyAqc2MgPSBhcmc7DQorICAgIHN0cnVjdCBpZWVl ODAyMTFjb20gKmljID0gJnNjLT5zY19pYzsNCisgICAgZW51bSBpZWVlODAyMTFfc3RhdGUg b3N0YXRlOw0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKm5pOw0KKyAgICB1aW50MzJf dCB0bXA7DQorDQorICAgIG9zdGF0ZSA9IGljLT5pY19zdGF0ZTsNCisNCisgICAgc3dpdGNo IChzYy0+c2Nfc3RhdGUpIHsNCisgICAgY2FzZSBJRUVFODAyMTFfU19JTklUOg0KKyAgICAg ICAgaWYgKG9zdGF0ZSA9PSBJRUVFODAyMTFfU19SVU4pIHsNCisgICAgICAgICAgICAvKiBh Ym9ydCBUU0Ygc3luY2hyb25pemF0aW9uICovDQorICAgICAgICAgICAgdG1wID0gcnVtX3Jl YWQoc2MsIFJUMjU3M19UWFJYX0NTUjkpOw0KKyAgICAgICAgICAgIHJ1bV93cml0ZShzYywg UlQyNTczX1RYUlhfQ1NSOSwgdG1wICYgfjB4MDBmZmZmZmYpOw0KKyAgICAgICAgfQ0KKyAg ICAgICAgYnJlYWs7DQorDQorICAgIGNhc2UgSUVFRTgwMjExX1NfU0NBTjoNCisgICAgICAg IHJ1bV9zZXRfY2hhbihzYywgaWMtPmljX2N1cmNoYW4pOw0KKyAgICAgICAgY2FsbG91dF9y ZXNldCgmc2MtPnNjYW5fY2gsIGh6IC8gNSwgcnVtX25leHRfc2Nhbiwgc2MpOw0KKyAgICAg ICAgYnJlYWs7DQorDQorICAgIGNhc2UgSUVFRTgwMjExX1NfQVVUSDoNCisgICAgICAgIHJ1 bV9zZXRfY2hhbihzYywgaWMtPmljX2N1cmNoYW4pOw0KKyAgICAgICAgYnJlYWs7DQorDQor ICAgIGNhc2UgSUVFRTgwMjExX1NfQVNTT0M6DQorICAgICAgICBydW1fc2V0X2NoYW4oc2Ms IGljLT5pY19jdXJjaGFuKTsNCisgICAgICAgIGJyZWFrOw0KKw0KKyAgICBjYXNlIElFRUU4 MDIxMV9TX1JVTjoNCisgICAgICAgIHJ1bV9zZXRfY2hhbihzYywgaWMtPmljX2N1cmNoYW4p Ow0KKw0KKyAgICAgICAgbmkgPSBpYy0+aWNfYnNzOw0KKw0KKyAgICAgICAgaWYgKGljLT5p Y19vcG1vZGUgIT0gSUVFRTgwMjExX01fTU9OSVRPUikgew0KKyAgICAgICAgICAgIHJ1bV91 cGRhdGVfc2xvdChzYyk7DQorICAgICAgICAgICAgcnVtX2VuYWJsZV9tcnIoc2MpOw0KKyAg ICAgICAgICAgIHJ1bV9zZXRfdHhwcmVhbWJsZShzYyk7DQorICAgICAgICAgICAgcnVtX3Nl dF9iYXNpY3JhdGVzKHNjKTsNCisgICAgICAgICAgICBydW1fc2V0X2Jzc2lkKHNjLCBuaS0+ bmlfYnNzaWQpOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKGljLT5pY19vcG1vZGUg PT0gSUVFRTgwMjExX01fSE9TVEFQIHx8DQorICAgICAgICAgICAgaWMtPmljX29wbW9kZSA9 PSBJRUVFODAyMTFfTV9JQlNTKQ0KKyAgICAgICAgICAgIHJ1bV9wcmVwYXJlX2JlYWNvbihz Yyk7DQorDQorICAgICAgICBpZiAoaWMtPmljX29wbW9kZSAhPSBJRUVFODAyMTFfTV9NT05J VE9SKQ0KKyAgICAgICAgICAgIHJ1bV9lbmFibGVfdHNmX3N5bmMoc2MpOw0KKw0KKyAgICAg ICAgLyogZW5hYmxlIGF1dG9tYXRpYyByYXRlIGFkYXB0YXRpb24gaW4gU1RBIG1vZGUgKi8N CisgICAgICAgIGlmIChpYy0+aWNfb3Btb2RlID09IElFRUU4MDIxMV9NX1NUQSAmJg0KKyAg ICAgICAgICAgIGljLT5pY19maXhlZF9yYXRlID09IElFRUU4MDIxMV9GSVhFRF9SQVRFX05P TkUpDQorICAgICAgICAgICAgcnVtX2FtcnJfc3RhcnQoc2MsIG5pKTsNCisNCisgICAgICAg IGJyZWFrOw0KKyAgICB9DQorDQorICAgIHNjLT5zY19uZXdzdGF0ZShpYywgc2MtPnNjX3N0 YXRlLCAtMSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCitydW1fbmV3c3RhdGUoc3RydWN0IGll ZWU4MDIxMWNvbSAqaWMsIGVudW0gaWVlZTgwMjExX3N0YXRlIG5zdGF0ZSwgaW50IGFyZykN Cit7DQorICAgIHN0cnVjdCBydW1fc29mdGMgKnNjID0gaWMtPmljX2lmcC0+aWZfc29mdGM7 DQorDQorICAgIHVzYl9yZW1fdGFzayhzYy0+c2NfdWRldiwgJnNjLT5zY190YXNrKTsNCisg ICAgY2FsbG91dF9zdG9wKCZzYy0+c2Nhbl9jaCk7DQorICAgIGNhbGxvdXRfc3RvcCgmc2Mt PmFtcnJfY2gpOw0KKw0KKyAgICAvKiBkbyBpdCBpbiBhIHByb2Nlc3MgY29udGV4dCAqLw0K KyAgICBzYy0+c2Nfc3RhdGUgPSBuc3RhdGU7DQorICAgIHVzYl9hZGRfdGFzayhzYy0+c2Nf dWRldiwgJnNjLT5zY190YXNrLCBVU0JfVEFTS1FfRFJJVkVSKTsNCisNCisgICAgcmV0dXJu IDA7DQorfQ0KKw0KKy8qIHF1aWNrbHkgZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4gcmF0ZSBpcyBD Q0sgb3IgT0ZETSAqLw0KKyNkZWZpbmUgUlVNX1JBVEVfSVNfT0ZETShyYXRlKSAgICAoKHJh dGUpID49IDEyICYmIChyYXRlKSAhPSAyMikNCisNCisjZGVmaW5lIFJVTV9BQ0tfU0laRSAg ICAxNCAgICAvKiAxMCArIDQoRkNTKSAqLw0KKyNkZWZpbmUgUlVNX0NUU19TSVpFICAgIDE0 ICAgIC8qIDEwICsgNChGQ1MpICovDQorDQorc3RhdGljIHZvaWQNCitydW1fdHhlb2YodXNi ZF94ZmVyX2hhbmRsZSB4ZmVyLCB1c2JkX3ByaXZhdGVfaGFuZGxlIHByaXYsIHVzYmRfc3Rh dHVzIHN0YXR1cykNCit7DQorICAgIHN0cnVjdCBydW1fdHhfZGF0YSAqZGF0YSA9IHByaXY7 DQorICAgIHN0cnVjdCBydW1fc29mdGMgKnNjID0gZGF0YS0+c2M7DQorICAgIHN0cnVjdCBp Zm5ldCAqaWZwID0gc2MtPnNjX2lmcDsNCisNCisgICAgaWYgKHN0YXR1cyAhPSBVU0JEX05P Uk1BTF9DT01QTEVUSU9OKSB7DQorICAgICAgICBpZiAoc3RhdHVzID09IFVTQkRfTk9UX1NU QVJURUQgfHwgc3RhdHVzID09IFVTQkRfQ0FOQ0VMTEVEKXsNCisgICAgICAgICAgICByZXR1 cm47DQorCQl9DQorDQorICAgIAlwcmludGYoIiVzOiBjb3VsZCBub3QgdHJhbnNtaXQgYnVm ZmVyOiAlc1xuIiwNCisgICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19k ZXYpLCB1c2JkX2VycnN0cihzdGF0dXMpKTsNCisNCisgICAgICAgIGlmIChzdGF0dXMgPT0g VVNCRF9TVEFMTEVEKQ0KKyAgICAgICAgICAgIHVzYmRfY2xlYXJfZW5kcG9pbnRfc3RhbGxf YXN5bmMoc2MtPnNjX3R4X3BpcGVoKTsNCisNCisgICAgICAgIGlmcC0+aWZfb2Vycm9ycysr Ow0KKyAgICAgICAgcmV0dXJuOw0KKyAgICB9DQorDQorICAgIG1fZnJlZW0oZGF0YS0+bSk7 DQorICAgIGRhdGEtPm0gPSBOVUxMOw0KKyAgICBpZWVlODAyMTFfZnJlZV9ub2RlKGRhdGEt Pm5pKTsNCisgICAgZGF0YS0+bmkgPSBOVUxMOw0KKw0KKyAgICBzYy0+dHhfcXVldWVkLS07 DQorICAgIGlmcC0+aWZfb3BhY2tldHMrKzsNCisNCisgICAgRFBSSU5URk4oMTAsICgidHgg ZG9uZVxuIikpOw0KKw0KKyAgICBzYy0+c2NfdHhfdGltZXIgPSAwOw0KKyAgICBpZnAtPmlm X2Rydl9mbGFncyAmPSB+SUZGX0RSVl9PQUNUSVZFOw0KKyAgICBydW1fc3RhcnQoaWZwKTsN CisNCit9DQorDQorc3RhdGljIHZvaWQNCitydW1fcnhlb2YodXNiZF94ZmVyX2hhbmRsZSB4 ZmVyLCB1c2JkX3ByaXZhdGVfaGFuZGxlIHByaXYsIHVzYmRfc3RhdHVzIHN0YXR1cykNCit7 DQorICAgIHN0cnVjdCBydW1fcnhfZGF0YSAqZGF0YSA9IHByaXY7DQorICAgIHN0cnVjdCBy dW1fc29mdGMgKnNjID0gZGF0YS0+c2M7DQorICAgIHN0cnVjdCBpZWVlODAyMTFjb20gKmlj ID0gJnNjLT5zY19pYzsNCisgICAgc3RydWN0IGlmbmV0ICppZnAgPSBzYy0+c2NfaWZwOw0K KyAgICBzdHJ1Y3QgcnVtX3J4X2Rlc2MgKmRlc2M7DQorICAgIHN0cnVjdCBpZWVlODAyMTFf ZnJhbWUgKndoOw0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKm5pOw0KKyAgICBzdHJ1 Y3QgbWJ1ZiAqbW5ldywgKm07DQorICAgIGludCBsZW47DQorDQorICAgIGlmIChzdGF0dXMg IT0gVVNCRF9OT1JNQUxfQ09NUExFVElPTikgew0KKyAgICAgICAgaWYgKHN0YXR1cyA9PSBV U0JEX05PVF9TVEFSVEVEIHx8IHN0YXR1cyA9PSBVU0JEX0NBTkNFTExFRCl7DQorICAgICAg ICAgICAgcmV0dXJuOw0KKwkJfQ0KKw0KKyAgICAgICAgaWYgKHN0YXR1cyA9PSBVU0JEX1NU QUxMRUQpDQorICAgICAgICAgICAgdXNiZF9jbGVhcl9lbmRwb2ludF9zdGFsbF9hc3luYyhz Yy0+c2NfcnhfcGlwZWgpOw0KKyAgICAgICAgZ290byBza2lwOw0KKyAgICB9DQorDQorICAg IHVzYmRfZ2V0X3hmZXJfc3RhdHVzKHhmZXIsIE5VTEwsIE5VTEwsICZsZW4sIE5VTEwpOw0K Kw0KKyAgICBpZiAobGVuIDwgUlQyNTczX1JYX0RFU0NfU0laRSArIHNpemVvZiAoc3RydWN0 IGllZWU4MDIxMV9mcmFtZV9taW4pKSB7DQorICAgICAgICBEUFJJTlRGKCgiJXM6IHhmZXIg dG9vIHNob3J0ICVkXG4iLCBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpLA0KKyAg ICAgICAgICAgIGxlbikpOw0KKyAgICAgICAgaWZwLT5pZl9pZXJyb3JzKys7DQorICAgICAg ICBnb3RvIHNraXA7DQorICAgIH0NCisNCisgICAgZGVzYyA9IChzdHJ1Y3QgcnVtX3J4X2Rl c2MgKilkYXRhLT5idWY7DQorDQorICAgIGlmIChsZTMydG9oKGRlc2MtPmZsYWdzKSAmIFJU MjU3M19SWF9DUkNfRVJST1IpIHsNCisgICAgICAgIC8qDQorICAgICAgICAgKiBUaGlzIHNo b3VsZCBub3QgaGFwcGVuIHNpbmNlIHdlIGRpZCBub3QgcmVxdWVzdCB0byByZWNlaXZlDQor ICAgICAgICAgKiB0aG9zZSBmcmFtZXMgd2hlbiB3ZSBmaWxsZWQgUlQyNTczX1RYUlhfQ1NS MC4NCisgICAgICAgICAqLw0KKyAgICAgICAgRFBSSU5URk4oNSwgKCJDUkMgZXJyb3JcbiIp KTsNCisgICAgICAgIGlmcC0+aWZfaWVycm9ycysrOw0KKyAgICAgICAgZ290byBza2lwOw0K KyAgICB9DQorDQorICAgIE1HRVRIRFIobW5ldywgTV9ET05UV0FJVCwgTVRfREFUQSk7DQor ICAgIGlmIChtbmV3ID09IE5VTEwpIHsNCisgICAgICAgIHByaW50ZigiJXM6IGNvdWxkIG5v dCBhbGxvY2F0ZSByeCBtYnVmXG4iLA0KKyAgICAgICAgICAgIGRldmljZV9nZXRfbmFtZXVu aXQoc2MtPnNjX2RldikpOw0KKyAgICAgICAgaWZwLT5pZl9pZXJyb3JzKys7DQorICAgICAg ICBnb3RvIHNraXA7DQorICAgIH0NCisNCisgICAgTUNMR0VUKG1uZXcsIE1fRE9OVFdBSVQp Ow0KKyAgICBpZiAoIShtbmV3LT5tX2ZsYWdzICYgTV9FWFQpKSB7DQorICAgICAgICBwcmlu dGYoIiVzOiBjb3VsZCBub3QgYWxsb2NhdGUgcnggbWJ1ZiBjbHVzdGVyXG4iLA0KKyAgICAg ICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQoc2MtPnNjX2RldikpOw0KKyAgICAgICAgbV9m cmVlbShtbmV3KTsNCisgICAgICAgIGlmcC0+aWZfaWVycm9ycysrOw0KKyAgICAgICAgZ290 byBza2lwOw0KKyAgICB9DQorDQorICAgIG0gPSBkYXRhLT5tOw0KKyAgICBkYXRhLT5tID0g bW5ldzsNCisgICAgZGF0YS0+YnVmID0gbXRvZChkYXRhLT5tLCB1aW50OF90ICopOw0KKw0K KyAgICAvKiBmaW5hbGl6ZSBtYnVmICovDQorICAgIG0tPm1fcGt0aGRyLnJjdmlmID0gaWZw Ow0KKyAgICBtLT5tX2RhdGEgPSAoY2FkZHJfdCkoZGVzYyArIDEpOw0KKyAgICBtLT5tX3Br dGhkci5sZW4gPSBtLT5tX2xlbiA9IChsZTMydG9oKGRlc2MtPmZsYWdzKSA+PiAxNikgJiAw eGZmZjsNCisNCisgICAgaWYgKHNjLT5zY19kcnZicGYgIT0gTlVMTCkgew0KKyAgICAgICAg c3RydWN0IHJ1bV9yeF9yYWRpb3RhcF9oZWFkZXIgKnRhcCA9ICZzYy0+c2Nfcnh0YXA7DQor DQorICAgICAgICB0YXAtPndyX2ZsYWdzID0gSUVFRTgwMjExX1JBRElPVEFQX0ZfRkNTOw0K KyAgICAgICAgdGFwLT53cl9yYXRlID0gcnVtX3J4cmF0ZShkZXNjKTsNCisgICAgICAgIHRh cC0+d3JfY2hhbl9mcmVxID0gaHRvbGUxNihpYy0+aWNfY3VyY2hhbi0+aWNfZnJlcSk7DQor ICAgICAgICB0YXAtPndyX2NoYW5fZmxhZ3MgPSBodG9sZTE2KGljLT5pY19jdXJjaGFuLT5p Y19mbGFncyk7DQorICAgICAgICB0YXAtPndyX2FudGVubmEgPSBzYy0+cnhfYW50Ow0KKyAg ICAgICAgdGFwLT53cl9hbnRzaWduYWwgPSBkZXNjLT5yc3NpOw0KKw0KKyAgICAgICAgYnBm X210YXAyKHNjLT5zY19kcnZicGYsIHRhcCwgc2MtPnNjX3J4dGFwX2xlbiwgbSk7DQorICAg IH0NCisNCisgICAgd2ggPSBtdG9kKG0sIHN0cnVjdCBpZWVlODAyMTFfZnJhbWUgKik7DQor ICAgIG5pID0gaWVlZTgwMjExX2ZpbmRfcnhub2RlKGljLCAoc3RydWN0IGllZWU4MDIxMV9m cmFtZV9taW4gKil3aCk7DQorDQorICAgIC8qIHNlbmQgdGhlIGZyYW1lIHRvIHRoZSA4MDIu MTEgbGF5ZXIgKi8NCisgICAgaWVlZTgwMjExX2lucHV0KGljLCBtLCBuaSwgZGVzYy0+cnNz aSwgMCk7DQorDQorICAgIC8qIG5vZGUgaXMgbm8gbG9uZ2VyIG5lZWRlZCAqLw0KKyAgICBp ZWVlODAyMTFfZnJlZV9ub2RlKG5pKTsNCisNCisgICAgRFBSSU5URk4oMTUsICgicnggZG9u ZVxuIikpOw0KKw0KK3NraXA6ICAgIC8qIHNldHVwIGEgbmV3IHRyYW5zZmVyICovDQorICAg IHVzYmRfc2V0dXBfeGZlcih4ZmVyLCBzYy0+c2NfcnhfcGlwZWgsIGRhdGEsIGRhdGEtPmJ1 ZiwgTUNMQllURVMsDQorICAgICAgICBVU0JEX1NIT1JUX1hGRVJfT0ssIFVTQkRfTk9fVElN RU9VVCwgcnVtX3J4ZW9mKTsNCisgICAgdXNiZF90cmFuc2Zlcih4ZmVyKTsNCit9DQorDQor LyoNCisgKiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCBieSB0aGUgUnggcmFkaW90YXAg Y29kZS4gSXQgcmV0dXJucyB0aGUgcmF0ZSBhdA0KKyAqIHdoaWNoIGEgZ2l2ZW4gZnJhbWUg d2FzIHJlY2VpdmVkLg0KKyAqLw0KK3N0YXRpYyB1aW50OF90DQorcnVtX3J4cmF0ZShzdHJ1 Y3QgcnVtX3J4X2Rlc2MgKmRlc2MpDQorew0KKyAgICBpZiAobGUzMnRvaChkZXNjLT5mbGFn cykgJiBSVDI1NzNfUlhfT0ZETSkgew0KKyAgICAgICAgLyogcmV2ZXJzZSBmdW5jdGlvbiBv ZiBydW1fcGxjcF9zaWduYWwgKi8NCisgICAgICAgIHN3aXRjaCAoZGVzYy0+cmF0ZSkgew0K KyAgICAgICAgY2FzZSAweGI6ICAgIHJldHVybiAxMjsNCisgICAgICAgIGNhc2UgMHhmOiAg ICByZXR1cm4gMTg7DQorICAgICAgICBjYXNlIDB4YTogICAgcmV0dXJuIDI0Ow0KKyAgICAg ICAgY2FzZSAweGU6ICAgIHJldHVybiAzNjsNCisgICAgICAgIGNhc2UgMHg5OiAgICByZXR1 cm4gNDg7DQorICAgICAgICBjYXNlIDB4ZDogICAgcmV0dXJuIDcyOw0KKyAgICAgICAgY2Fz ZSAweDg6ICAgIHJldHVybiA5NjsNCisgICAgICAgIGNhc2UgMHhjOiAgICByZXR1cm4gMTA4 Ow0KKyAgICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAgICAgICAgaWYgKGRlc2MtPnJhdGUg PT0gMTApDQorICAgICAgICAgICAgcmV0dXJuIDI7DQorICAgICAgICBpZiAoZGVzYy0+cmF0 ZSA9PSAyMCkNCisgICAgICAgICAgICByZXR1cm4gNDsNCisgICAgICAgIGlmIChkZXNjLT5y YXRlID09IDU1KQ0KKyAgICAgICAgICAgIHJldHVybiAxMTsNCisgICAgICAgIGlmIChkZXNj LT5yYXRlID09IDExMCkNCisgICAgICAgICAgICByZXR1cm4gMjI7DQorICAgIH0NCisgICAg cmV0dXJuIDI7ICAgIC8qIHNob3VsZCBub3QgZ2V0IHRoZXJlICovDQorfQ0KKw0KKy8qDQor ICogUmV0dXJuIHRoZSBleHBlY3RlZCBhY2sgcmF0ZSBmb3IgYSBmcmFtZSB0cmFuc21pdHRl ZCBhdCByYXRlIGByYXRlJy4NCisgKiBYWFg6IHRoaXMgc2hvdWxkIGRlcGVuZCBvbiB0aGUg ZGVzdGluYXRpb24gbm9kZSBiYXNpYyByYXRlIHNldC4NCisgKi8NCitzdGF0aWMgaW50DQor cnVtX2Fja19yYXRlKHN0cnVjdCBpZWVlODAyMTFjb20gKmljLCBpbnQgcmF0ZSkNCit7DQor ICAgIHN3aXRjaCAocmF0ZSkgew0KKyAgICAvKiBDQ0sgcmF0ZXMgKi8NCisgICAgY2FzZSAy Og0KKyAgICAgICAgcmV0dXJuIDI7DQorICAgIGNhc2UgNDoNCisgICAgY2FzZSAxMToNCisg ICAgY2FzZSAyMjoNCisgICAgICAgIHJldHVybiAoaWMtPmljX2N1cm1vZGUgPT0gSUVFRTgw MjExX01PREVfMTFCKSA/IDQgOiByYXRlOw0KKw0KKyAgICAvKiBPRkRNIHJhdGVzICovDQor ICAgIGNhc2UgMTI6DQorICAgIGNhc2UgMTg6DQorICAgICAgICByZXR1cm4gMTI7DQorICAg IGNhc2UgMjQ6DQorICAgIGNhc2UgMzY6DQorICAgICAgICByZXR1cm4gMjQ7DQorICAgIGNh c2UgNDg6DQorICAgIGNhc2UgNzI6DQorICAgIGNhc2UgOTY6DQorICAgIGNhc2UgMTA4Og0K KyAgICAgICAgcmV0dXJuIDQ4Ow0KKyAgICB9DQorDQorICAgIC8qIGRlZmF1bHQgdG8gMU1i cHMgKi8NCisgICAgcmV0dXJuIDI7DQorfQ0KKw0KKy8qDQorICogQ29tcHV0ZSB0aGUgZHVy YXRpb24gKGluIHVzKSBuZWVkZWQgdG8gdHJhbnNtaXQgYGxlbicgYnl0ZXMgYXQgcmF0ZSBg cmF0ZScuDQorICogVGhlIGZ1bmN0aW9uIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lcyB0aGUg b3BlcmF0aW5nIG1vZGUgZGVwZW5kaW5nIG9uIHRoZQ0KKyAqIGdpdmVuIHJhdGUuIGBmbGFn cycgaW5kaWNhdGVzIHdoZXRoZXIgc2hvcnQgcHJlYW1ibGUgaXMgaW4gdXNlIG9yIG5vdC4N CisgKi8NCitzdGF0aWMgdWludDE2X3QNCitydW1fdHh0aW1lKGludCBsZW4sIGludCByYXRl LCB1aW50MzJfdCBmbGFncykNCit7DQorICAgIHVpbnQxNl90IHR4dGltZTsNCisNCisgICAg aWYgKFJVTV9SQVRFX0lTX09GRE0ocmF0ZSkpIHsNCisgICAgICAgIC8qIElFRUUgU3RkIDgw Mi4xMWEtMTk5OSwgcHAuIDM3ICovDQorICAgICAgICB0eHRpbWUgPSAoOCArIDQgKiBsZW4g KyAzICsgcmF0ZSAtIDEpIC8gcmF0ZTsNCisgICAgICAgIHR4dGltZSA9IDE2ICsgNCArIDQg KiB0eHRpbWUgKyA2Ow0KKyAgICB9IGVsc2Ugew0KKyAgICAgICAgLyogSUVFRSBTdGQgODAy LjExYi0xOTk5LCBwcC4gMjggKi8NCisgICAgICAgIHR4dGltZSA9ICgxNiAqIGxlbiArIHJh dGUgLSAxKSAvIHJhdGU7DQorICAgICAgICBpZiAocmF0ZSAhPSAyICYmIChmbGFncyAmIElF RUU4MDIxMV9GX1NIUFJFQU1CTEUpKQ0KKyAgICAgICAgICAgIHR4dGltZSArPSAgNzIgKyAy NDsNCisgICAgICAgIGVsc2UNCisgICAgICAgICAgICB0eHRpbWUgKz0gMTQ0ICsgNDg7DQor ICAgIH0NCisgICAgcmV0dXJuIHR4dGltZTsNCit9DQorDQorc3RhdGljIHVpbnQ4X3QNCity dW1fcGxjcF9zaWduYWwoaW50IHJhdGUpDQorew0KKyAgICBzd2l0Y2ggKHJhdGUpIHsNCisg ICAgLyogQ0NLIHJhdGVzIChyZXR1cm5lZCB2YWx1ZXMgYXJlIGRldmljZS1kZXBlbmRlbnQp ICovDQorICAgIGNhc2UgMjogICAgICAgIHJldHVybiAweDA7DQorICAgIGNhc2UgNDogICAg ICAgIHJldHVybiAweDE7DQorICAgIGNhc2UgMTE6ICAgIHJldHVybiAweDI7DQorICAgIGNh c2UgMjI6ICAgIHJldHVybiAweDM7DQorDQorICAgIC8qIE9GRE0gcmF0ZXMgKGNmIElFRUUg U3RkIDgwMi4xMWEtMTk5OSwgcHAuIDE0IFRhYmxlIDgwKSAqLw0KKyAgICBjYXNlIDEyOiAg ICByZXR1cm4gMHhiOw0KKyAgICBjYXNlIDE4OiAgICByZXR1cm4gMHhmOw0KKyAgICBjYXNl IDI0OiAgICByZXR1cm4gMHhhOw0KKyAgICBjYXNlIDM2OiAgICByZXR1cm4gMHhlOw0KKyAg ICBjYXNlIDQ4OiAgICByZXR1cm4gMHg5Ow0KKyAgICBjYXNlIDcyOiAgICByZXR1cm4gMHhk Ow0KKyAgICBjYXNlIDk2OiAgICByZXR1cm4gMHg4Ow0KKyAgICBjYXNlIDEwODogICAgcmV0 dXJuIDB4YzsNCisNCisgICAgLyogdW5zdXBwb3J0ZWQgcmF0ZXMgKHNob3VsZCBub3QgZ2V0 IHRoZXJlKSAqLw0KKyAgICBkZWZhdWx0OiAgICByZXR1cm4gMHhmZjsNCisgICAgfQ0KK30N CisNCitzdGF0aWMgdm9pZA0KK3J1bV9zZXR1cF90eF9kZXNjKHN0cnVjdCBydW1fc29mdGMg KnNjLCBzdHJ1Y3QgcnVtX3R4X2Rlc2MgKmRlc2MsDQorICAgIHVpbnQzMl90IGZsYWdzLCB1 aW50MTZfdCB4ZmxhZ3MsIGludCBsZW4sIGludCByYXRlKQ0KK3sNCisgICAgc3RydWN0IGll ZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICB1aW50MTZfdCBwbGNwX2xlbmd0 aDsNCisgICAgaW50IHJlbWFpbmRlcjsNCisNCisgICAgZGVzYy0+ZmxhZ3MgPSBodG9sZTMy KGZsYWdzKTsNCisgICAgZGVzYy0+ZmxhZ3MgfD0gaHRvbGUzMihSVDI1NzNfVFhfVkFMSUQp Ow0KKyAgICBkZXNjLT5mbGFncyB8PSBodG9sZTMyKGxlbiA8PCAxNik7DQorDQorICAgIGRl c2MtPnhmbGFncyA9IGh0b2xlMTYoeGZsYWdzKTsNCisNCisgICAgZGVzYy0+d21lID0gaHRv bGUxNigNCisgICAgICAgIFJUMjU3M19RSUQoMCkgfA0KKyAgICAgICAgUlQyNTczX0FJRlNO KDIpIHwNCisgICAgICAgIFJUMjU3M19MT0dDV01JTig0KSB8DQorICAgICAgICBSVDI1NzNf TE9HQ1dNQVgoMTApKTsNCisNCisgICAgLyogc2V0dXAgUExDUCBmaWVsZHMgKi8NCisgICAg ZGVzYy0+cGxjcF9zaWduYWwgID0gcnVtX3BsY3Bfc2lnbmFsKHJhdGUpOw0KKyAgICBkZXNj LT5wbGNwX3NlcnZpY2UgPSA0Ow0KKw0KKyAgICBsZW4gKz0gSUVFRTgwMjExX0NSQ19MRU47 DQorICAgIGlmIChSVU1fUkFURV9JU19PRkRNKHJhdGUpKSB7DQorICAgICAgICBkZXNjLT5m bGFncyB8PSBodG9sZTMyKFJUMjU3M19UWF9PRkRNKTsNCisNCisgICAgICAgIHBsY3BfbGVu Z3RoID0gbGVuICYgMHhmZmY7DQorICAgICAgICBkZXNjLT5wbGNwX2xlbmd0aF9oaSA9IHBs Y3BfbGVuZ3RoID4+IDY7DQorICAgICAgICBkZXNjLT5wbGNwX2xlbmd0aF9sbyA9IHBsY3Bf bGVuZ3RoICYgMHgzZjsNCisgICAgfSBlbHNlIHsNCisgICAgICAgIHBsY3BfbGVuZ3RoID0g KDE2ICogbGVuICsgcmF0ZSAtIDEpIC8gcmF0ZTsNCisgICAgICAgIGlmIChyYXRlID09IDIy KSB7DQorICAgICAgICAgICAgcmVtYWluZGVyID0gKDE2ICogbGVuKSAlIDIyOw0KKyAgICAg ICAgICAgIGlmIChyZW1haW5kZXIgIT0gMCAmJiByZW1haW5kZXIgPCA3KQ0KKyAgICAgICAg ICAgICAgICBkZXNjLT5wbGNwX3NlcnZpY2UgfD0gUlQyNTczX1BMQ1BfTEVOR0VYVDsNCisg ICAgICAgIH0NCisgICAgICAgIGRlc2MtPnBsY3BfbGVuZ3RoX2hpID0gcGxjcF9sZW5ndGgg Pj4gODsNCisgICAgICAgIGRlc2MtPnBsY3BfbGVuZ3RoX2xvID0gcGxjcF9sZW5ndGggJiAw eGZmOw0KKw0KKyAgICAgICAgaWYgKHJhdGUgIT0gMiAmJiAoaWMtPmljX2ZsYWdzICYgSUVF RTgwMjExX0ZfU0hQUkVBTUJMRSkpDQorICAgICAgICAgICAgZGVzYy0+cGxjcF9zaWduYWwg fD0gMHgwODsNCisgICAgfQ0KK30NCisNCisjZGVmaW5lIFJVTV9UWF9USU1FT1VUICAgIDUw MDANCisNCitzdGF0aWMgaW50DQorcnVtX3R4X21ndChzdHJ1Y3QgcnVtX3NvZnRjICpzYywg c3RydWN0IG1idWYgKm0wLCBzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKm5pKQ0KK3sNCisgICAg c3RydWN0IGllZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICBzdHJ1Y3QgcnVt X3R4X2Rlc2MgKmRlc2M7DQorICAgIHN0cnVjdCBydW1fdHhfZGF0YSAqZGF0YTsNCisgICAg c3RydWN0IGllZWU4MDIxMV9mcmFtZSAqd2g7DQorICAgIHVpbnQzMl90IGZsYWdzID0gMDsN CisgICAgdWludDE2X3QgZHVyOw0KKyAgICB1c2JkX3N0YXR1cyBlcnJvcjsNCisgICAgaW50 IHhmZXJsZW4sIHJhdGU7DQorDQorICAgIGRhdGEgPSAmc2MtPnR4X2RhdGFbMF07DQorICAg IGRlc2MgPSAoc3RydWN0IHJ1bV90eF9kZXNjICopZGF0YS0+YnVmOw0KKw0KKyAgICByYXRl ID0gSUVFRTgwMjExX0lTX0NIQU5fNUdIWihpYy0+aWNfY3VyY2hhbikgPyAxMiA6IDI7DQor DQorICAgIGRhdGEtPm0gPSBtMDsNCisgICAgZGF0YS0+bmkgPSBuaTsNCisNCisgICAgd2gg PSBtdG9kKG0wLCBzdHJ1Y3QgaWVlZTgwMjExX2ZyYW1lICopOw0KKw0KKyAgICBpZiAoIUlF RUU4MDIxMV9JU19NVUxUSUNBU1Qod2gtPmlfYWRkcjEpKSB7DQorICAgICAgICBmbGFncyB8 PSBSVDI1NzNfVFhfQUNLOw0KKw0KKyAgICAgICAgZHVyID0gcnVtX3R4dGltZShSVU1fQUNL X1NJWkUsIHJ1bV9hY2tfcmF0ZShpYywgcmF0ZSksDQorICAgICAgICAgICAgaWMtPmljX2Zs YWdzKSArIHNjLT5zaWZzOw0KKyAgICAgICAgKih1aW50MTZfdCAqKXdoLT5pX2R1ciA9IGh0 b2xlMTYoZHVyKTsNCisNCisgICAgICAgIC8qIHRlbGwgaGFyZHdhcmUgdG8gc2V0IHRpbWVz dGFtcCBpbiBwcm9iZSByZXNwb25zZXMgKi8NCisgICAgICAgIGlmICgod2gtPmlfZmNbMF0g Jg0KKyAgICAgICAgICAgIChJRUVFODAyMTFfRkMwX1RZUEVfTUFTSyB8IElFRUU4MDIxMV9G QzBfU1VCVFlQRV9NQVNLKSkgPT0NCisgICAgICAgICAgICAoSUVFRTgwMjExX0ZDMF9UWVBF X01HVCB8IElFRUU4MDIxMV9GQzBfU1VCVFlQRV9QUk9CRV9SRVNQKSkNCisgICAgICAgICAg ICBmbGFncyB8PSBSVDI1NzNfVFhfVElNRVNUQU1QOw0KKyAgICB9DQorDQorICAgIGlmIChi cGZfcGVlcnNfcHJlc2VudChzYy0+c2NfZHJ2YnBmKSkgew0KKyAgICAgICAgc3RydWN0IHJ1 bV90eF9yYWRpb3RhcF9oZWFkZXIgKnRhcCA9ICZzYy0+c2NfdHh0YXA7DQorDQorICAgICAg ICB0YXAtPnd0X2ZsYWdzID0gMDsNCisgICAgICAgIHRhcC0+d3RfcmF0ZSA9IHJhdGU7DQor ICAgICAgICB0YXAtPnd0X2NoYW5fZnJlcSA9IGh0b2xlMTYoaWMtPmljX2N1cmNoYW4tPmlj X2ZyZXEpOw0KKyAgICAgICAgdGFwLT53dF9jaGFuX2ZsYWdzID0gaHRvbGUxNihpYy0+aWNf Y3VyY2hhbi0+aWNfZmxhZ3MpOw0KKyAgICAgICAgdGFwLT53dF9hbnRlbm5hID0gc2MtPnR4 X2FudDsNCisNCisgICAgICAgIGJwZl9tdGFwMihzYy0+c2NfZHJ2YnBmLCB0YXAsIHNjLT5z Y190eHRhcF9sZW4sIG0wKTsNCisgICAgfQ0KKw0KKyAgICBtX2NvcHlkYXRhKG0wLCAwLCBt MC0+bV9wa3RoZHIubGVuLCBkYXRhLT5idWYgKyBSVDI1NzNfVFhfREVTQ19TSVpFKTsNCisg ICAgcnVtX3NldHVwX3R4X2Rlc2Moc2MsIGRlc2MsIGZsYWdzLCAwLCBtMC0+bV9wa3RoZHIu bGVuLCByYXRlKTsNCisNCisgICAgLyogYWxpZ24gZW5kIG9uIGEgNC1ieXRlcyBib3VuZGFy eSAqLw0KKyAgICB4ZmVybGVuID0gKFJUMjU3M19UWF9ERVNDX1NJWkUgKyBtMC0+bV9wa3Ro ZHIubGVuICsgMykgJiB+MzsNCisNCisgICAgLyoNCisgICAgICogTm8gc3BhY2UgbGVmdCBp biB0aGUgbGFzdCBVUkIgdG8gc3RvcmUgdGhlIGV4dHJhIDQgYnl0ZXMsIGZvcmNlDQorICAg ICAqIHNlbmRpbmcgb2YgYW5vdGhlciBVUkIuDQorICAgICAqLw0KKyAgICBpZiAoKHhmZXJs ZW4gJSA2NCkgPT0gMCkNCisgICAgICAgIHhmZXJsZW4gKz0gNDsNCisNCisgICAgRFBSSU5U Rk4oMTAsICgic2VuZGluZyBtc2cgZnJhbWUgbGVuPSVsZCByYXRlPSVkIHhmZXIgbGVuPSVk XG4iLA0KKyAgICAgICAgbTAtPm1fcGt0aGRyLmxlbiArIFJUMjU3M19UWF9ERVNDX1NJWkUs IHJhdGUsIHhmZXJsZW4pKTsNCisNCisgICAgdXNiZF9zZXR1cF94ZmVyKGRhdGEtPnhmZXIs IHNjLT5zY190eF9waXBlaCwgZGF0YSwgZGF0YS0+YnVmLCB4ZmVybGVuLA0KKyAgICAgICAg VVNCRF9GT1JDRV9TSE9SVF9YRkVSIHwgVVNCRF9OT19DT1BZLCBSVU1fVFhfVElNRU9VVCwg cnVtX3R4ZW9mKTsNCisNCisgICAgZXJyb3IgPSB1c2JkX3RyYW5zZmVyKGRhdGEtPnhmZXIp Ow0KKyAgICBpZiAoZXJyb3IgIT0gVVNCRF9OT1JNQUxfQ09NUExFVElPTiAmJiBlcnJvciAh PSBVU0JEX0lOX1BST0dSRVNTKSB7DQorICAgICAgICBtX2ZyZWVtKG0wKTsNCisJCWRhdGEt Pm0gPSBOVUxMOw0KKwkJZGF0YS0+bmkgPSBOVUxMOw0KKyAgICAgICAgcmV0dXJuIGVycm9y Ow0KKyAgICB9DQorDQorICAgIHNjLT50eF9xdWV1ZWQrKzsNCisNCisgICAgcmV0dXJuIDA7 DQorfQ0KKw0KK3N0YXRpYyBpbnQNCitydW1fdHhfZGF0YShzdHJ1Y3QgcnVtX3NvZnRjICpz Yywgc3RydWN0IG1idWYgKm0wLCBzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKm5pKQ0KK3sNCisg ICAgc3RydWN0IGllZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICBzdHJ1Y3Qg cnVtX3R4X2Rlc2MgKmRlc2M7DQorICAgIHN0cnVjdCBydW1fdHhfZGF0YSAqZGF0YTsNCisg ICAgc3RydWN0IGllZWU4MDIxMV9mcmFtZSAqd2g7DQorICAgIHN0cnVjdCBpZWVlODAyMTFf a2V5ICprOw0KKyAgICB1aW50MzJfdCBmbGFncyA9IDA7DQorICAgIHVpbnQxNl90IGR1cjsN CisgICAgdXNiZF9zdGF0dXMgZXJyb3I7DQorICAgIGludCB4ZmVybGVuLCByYXRlOw0KKw0K KyAgICB3aCA9IG10b2QobTAsIHN0cnVjdCBpZWVlODAyMTFfZnJhbWUgKik7DQorDQorICAg IGlmIChpYy0+aWNfZml4ZWRfcmF0ZSAhPSBJRUVFODAyMTFfRklYRURfUkFURV9OT05FKQ0K KyAgICAgICAgcmF0ZSA9IGljLT5pY19ic3MtPm5pX3JhdGVzLnJzX3JhdGVzW2ljLT5pY19m aXhlZF9yYXRlXTsNCisgICAgZWxzZQ0KKyAgICAgICAgcmF0ZSA9IG5pLT5uaV9yYXRlcy5y c19yYXRlc1tuaS0+bmlfdHhyYXRlXTsNCisNCisgICAgcmF0ZSAmPSBJRUVFODAyMTFfUkFU RV9WQUw7DQorDQorICAgIGlmICh3aC0+aV9mY1sxXSAmIElFRUU4MDIxMV9GQzFfV0VQKSB7 DQorICAgICAgICBrID0gaWVlZTgwMjExX2NyeXB0b19lbmNhcChpYywgbmksIG0wKTsNCisg ICAgICAgIGlmIChrID09IE5VTEwpIHsNCisgICAgICAgICAgICBtX2ZyZWVtKG0wKTsNCisg ICAgICAgICAgICByZXR1cm4gRU5PQlVGUzsNCisgICAgICAgIH0NCisNCisgICAgICAgIC8q IHBhY2tldCBoZWFkZXIgbWF5IGhhdmUgbW92ZWQsIHJlc2V0IG91ciBsb2NhbCBwb2ludGVy ICovDQorICAgICAgICB3aCA9IG10b2QobTAsIHN0cnVjdCBpZWVlODAyMTFfZnJhbWUgKik7 DQorICAgIH0NCisNCisgICAgZGF0YSA9ICZzYy0+dHhfZGF0YVswXTsNCisgICAgZGVzYyA9 IChzdHJ1Y3QgcnVtX3R4X2Rlc2MgKilkYXRhLT5idWY7DQorDQorICAgIGRhdGEtPm0gPSBt MDsNCisgICAgZGF0YS0+bmkgPSBuaTsNCisNCisgICAgaWYgKCFJRUVFODAyMTFfSVNfTVVM VElDQVNUKHdoLT5pX2FkZHIxKSkgew0KKyAgICAgICAgZmxhZ3MgfD0gUlQyNTczX1RYX0FD SzsNCisNCisgICAgICAgIGR1ciA9IHJ1bV90eHRpbWUoUlVNX0FDS19TSVpFLCBydW1fYWNr X3JhdGUoaWMsIHJhdGUpLA0KKyAgICAgICAgICAgIGljLT5pY19mbGFncykgKyBzYy0+c2lm czsNCisgICAgICAgICoodWludDE2X3QgKil3aC0+aV9kdXIgPSBodG9sZTE2KGR1cik7DQor ICAgIH0NCisNCisgICAgaWYgKGJwZl9wZWVyc19wcmVzZW50KHNjLT5zY19kcnZicGYpKSB7 DQorICAgICAgICBzdHJ1Y3QgcnVtX3R4X3JhZGlvdGFwX2hlYWRlciAqdGFwID0gJnNjLT5z Y190eHRhcDsNCisNCisgICAgICAgIHRhcC0+d3RfZmxhZ3MgPSAwOw0KKyAgICAgICAgdGFw LT53dF9yYXRlID0gcmF0ZTsNCisgICAgICAgIHRhcC0+d3RfY2hhbl9mcmVxID0gaHRvbGUx NihpYy0+aWNfY3VyY2hhbi0+aWNfZnJlcSk7DQorICAgICAgICB0YXAtPnd0X2NoYW5fZmxh Z3MgPSBodG9sZTE2KGljLT5pY19jdXJjaGFuLT5pY19mbGFncyk7DQorICAgICAgICB0YXAt Pnd0X2FudGVubmEgPSBzYy0+dHhfYW50Ow0KKw0KKyAgICAgICAgYnBmX210YXAyKHNjLT5z Y19kcnZicGYsIHRhcCwgc2MtPnNjX3R4dGFwX2xlbiwgbTApOw0KKyAgICB9DQorDQorICAg IG1fY29weWRhdGEobTAsIDAsIG0wLT5tX3BrdGhkci5sZW4sIGRhdGEtPmJ1ZiArIFJUMjU3 M19UWF9ERVNDX1NJWkUpOw0KKyAgICBydW1fc2V0dXBfdHhfZGVzYyhzYywgZGVzYywgZmxh Z3MsIDAsIG0wLT5tX3BrdGhkci5sZW4sIHJhdGUpOw0KKw0KKyAgICAvKiBhbGlnbiBlbmQg b24gYSA0LWJ5dGVzIGJvdW5kYXJ5ICovDQorICAgIHhmZXJsZW4gPSAoUlQyNTczX1RYX0RF U0NfU0laRSArIG0wLT5tX3BrdGhkci5sZW4gKyAzKSAmIH4zOw0KKw0KKyAgICAvKg0KKyAg ICAgKiBObyBzcGFjZSBsZWZ0IGluIHRoZSBsYXN0IFVSQiB0byBzdG9yZSB0aGUgZXh0cmEg NCBieXRlcywgZm9yY2UNCisgICAgICogc2VuZGluZyBvZiBhbm90aGVyIFVSQi4NCisgICAg ICovDQorICAgIGlmICgoeGZlcmxlbiAlIDY0KSA9PSAwKQ0KKyAgICAgICAgeGZlcmxlbiAr PSA0Ow0KKw0KKyAgICBEUFJJTlRGTigxMCwgKCJzZW5kaW5nIGRhdGEgZnJhbWUgbGVuPSVs ZCByYXRlPSVkIHhmZXIgbGVuPSVkXG4iLA0KKyAgICAgICAgbTAtPm1fcGt0aGRyLmxlbiAr IFJUMjU3M19UWF9ERVNDX1NJWkUsIHJhdGUsIHhmZXJsZW4pKTsNCisNCisgICAgdXNiZF9z ZXR1cF94ZmVyKGRhdGEtPnhmZXIsIHNjLT5zY190eF9waXBlaCwgZGF0YSwgZGF0YS0+YnVm LCANCisJCXhmZXJsZW4sIFVTQkRfRk9SQ0VfU0hPUlRfWEZFUiB8IFVTQkRfTk9fQ09QWSwg UlVNX1RYX1RJTUVPVVQsIA0KKwkJcnVtX3R4ZW9mKTsNCisNCisgICAgZXJyb3IgPSB1c2Jk X3RyYW5zZmVyKGRhdGEtPnhmZXIpOw0KKyAgICBpZiAoZXJyb3IgIT0gVVNCRF9OT1JNQUxf Q09NUExFVElPTiAmJiBlcnJvciAhPSBVU0JEX0lOX1BST0dSRVNTKXsNCisgICAgICAgIHJl dHVybiBlcnJvcjsNCisJfQ0KKw0KKyAgICBzYy0+dHhfcXVldWVkKys7DQorCQkNCisgICAg cmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorcnVtX3N0YXJ0KHN0cnVjdCBpZm5l dCAqaWZwKQ0KK3sNCisgICAgc3RydWN0IHJ1bV9zb2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRj Ow0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2NfaWM7DQorICAgIHN0 cnVjdCBtYnVmICptMDsNCisgICAgc3RydWN0IGV0aGVyX2hlYWRlciAqZWg7DQorICAgIHN0 cnVjdCBpZWVlODAyMTFfbm9kZSAqbmk7DQorCXN0YXRpYyBpbnQgZmJ1c3kgPSAwOw0KKw0K KwlpZiAoZmJ1c3kpIHJldHVybjsNCisNCisJZmJ1c3kgPSAxOw0KKw0KKyAgICBmb3IgKDs7 KSB7DQorICAgICAgICBJRl9QT0xMKCZpYy0+aWNfbWd0cSwgbTApOw0KKyAgICAgICAgaWYg KG0wICE9IE5VTEwpIHsNCisgICAgICAgICAgICBpZiAoc2MtPnR4X3F1ZXVlZCA+PSBSVDI1 NzNfVFhfTElTVF9DT1VOVCkgew0KKyAgICAgICAgICAgICAgICBpZnAtPmlmX2Rydl9mbGFn cyB8PSBJRkZfRFJWX09BQ1RJVkU7DQorICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAg ICAgICAgIH0NCisgICAgICAgICAgICBJRl9ERVFVRVVFKCZpYy0+aWNfbWd0cSwgbTApOw0K Kw0KKyAgICAgICAgICAgIG5pID0gKHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqKW0wLT5tX3Br dGhkci5yY3ZpZjsNCisgICAgICAgICAgICBtMC0+bV9wa3RoZHIucmN2aWYgPSBOVUxMOw0K Kw0KKyAgICAgICAgICAgIGlmIChicGZfcGVlcnNfcHJlc2VudChpYy0+aWNfcmF3YnBmKSkN CisgICAgICAgICAgICAgICAgYnBmX210YXAoaWMtPmljX3Jhd2JwZiwgbTApOw0KKw0KKyAg ICAgICAgICAgIGlmIChydW1fdHhfbWd0KHNjLCBtMCwgbmkpICE9IDApDQorICAgICAgICAg ICAgICAgIGJyZWFrOw0KKw0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICBpZiAo aWMtPmljX3N0YXRlICE9IElFRUU4MDIxMV9TX1JVTikNCisgICAgICAgICAgICAgICAgYnJl YWs7DQorICAgICAgICAgICAgSUZRX0RSVl9ERVFVRVVFKCZpZnAtPmlmX3NuZCwgbTApOw0K KyAgICAgICAgICAgIGlmIChtMCA9PSBOVUxMKQ0KKyAgICAgICAgICAgICAgICBicmVhazsN CisgICAgICAgICAgICBpZiAoc2MtPnR4X3F1ZXVlZCA+PSBSVDI1NzNfVFhfTElTVF9DT1VO VCkgew0KKyAgICAgICAgICAgIAlJRlFfRFJWX1BSRVBFTkQoJmlmcC0+aWZfc25kLCBtMCk7 DQorICAgICAgICAgICAgICAgIGlmcC0+aWZfZHJ2X2ZsYWdzIHw9IElGRl9EUlZfT0FDVElW RTsNCisgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgfQ0KKw0KKyAgICAg ICAgICAgIGlmIChtMC0+bV9sZW4gPCBzaXplb2Yoc3RydWN0IGV0aGVyX2hlYWRlcikgJiYN CisgICAgICAgICAgICAgICAgIShtMCA9IG1fcHVsbHVwKG0wLCBzaXplb2Yoc3RydWN0IGV0 aGVyX2hlYWRlcikpKSkNCisgICAgICAgICAgICAgICAgY29udGludWU7DQorDQorICAgICAg ICAgICAgZWggPSBtdG9kKG0wLCBzdHJ1Y3QgZXRoZXJfaGVhZGVyICopOw0KKyAgICAgICAg ICAgIG5pID0gaWVlZTgwMjExX2ZpbmRfdHhub2RlKGljLCBlaC0+ZXRoZXJfZGhvc3QpOw0K KyAgICAgICAgICAgIGlmIChuaSA9PSBOVUxMKSB7DQorICAgICAgICAgICAgICAgIG1fZnJl ZW0obTApOw0KKyAgICAgICAgICAgICAgICBjb250aW51ZTsNCisgICAgICAgICAgICB9DQor ICAgICAgICAgICAgQlBGX01UQVAoaWZwLCBtMCk7DQorDQorICAgICAgICAgICAgbTAgPSBp ZWVlODAyMTFfZW5jYXAoaWMsIG0wLCBuaSk7DQorICAgICAgICAgICAgaWYgKG0wID09IE5V TEwpIHsNCisgICAgICAgICAgICAgICAgaWVlZTgwMjExX2ZyZWVfbm9kZShuaSk7DQorICAg ICAgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgICAgIH0NCisNCisgICAgICAgICAg ICBpZiAoYnBmX3BlZXJzX3ByZXNlbnQoaWMtPmljX3Jhd2JwZikpDQorICAgICAgICAgICAg ICAgIGJwZl9tdGFwKGljLT5pY19yYXdicGYsIG0wKTsNCisNCisgICAgICAgICAgICBpZiAo cnVtX3R4X2RhdGEoc2MsIG0wLCBuaSkgIT0gMCkgew0KKyAgICAgICAgICAgICAgICBpZWVl ODAyMTFfZnJlZV9ub2RlKG5pKTsNCisgICAgICAgICAgICAgICAgaWZwLT5pZl9vZXJyb3Jz Kys7DQorICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgIH0NCisgICAgICAg IH0NCisNCisgICAgICAgIHNjLT5zY190eF90aW1lciA9IDU7DQorICAgICAgICBpZnAtPmlm X3RpbWVyID0gMTsNCisgICAgfQ0KKw0KKwlmYnVzeSA9IDA7DQorDQorfQ0KKw0KK3N0YXRp YyB2b2lkDQorcnVtX3dhdGNoZG9nKHN0cnVjdCBpZm5ldCAqaWZwKQ0KK3sNCisgICAgc3Ry dWN0IHJ1bV9zb2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRjOw0KKyAgICBzdHJ1Y3QgaWVlZTgw MjExY29tICppYyA9ICZzYy0+c2NfaWM7DQorDQorICAgIFJVTV9MT0NLKHNjKTsNCisNCisg ICAgaWZwLT5pZl90aW1lciA9IDA7DQorDQorICAgIGlmIChzYy0+c2NfdHhfdGltZXIgPiAw KSB7DQorICAgICAgICBpZiAoLS1zYy0+c2NfdHhfdGltZXIgPT0gMCkgew0KKyAgICAgICAg ICAgIHByaW50ZigiJXM6IGRldmljZSB0aW1lb3V0XG4iLCBkZXZpY2VfZ2V0X25hbWV1bml0 KHNjLT5zY19kZXYpKTsNCisgICAgICAgICAgICAvKnJ1bV9pbml0KGlmcCk7IFhYWCBuZWVk cyBhIHByb2Nlc3MgY29udGV4dCEgKi8NCisgICAgICAgICAgICBpZnAtPmlmX29lcnJvcnMr KzsNCisgICAgCSAgICBSVU1fVU5MT0NLKHNjKTsNCisgICAgICAgICAgICByZXR1cm47DQor ICAgICAgICB9DQorICAgICAgICBpZnAtPmlmX3RpbWVyID0gMTsNCisgICAgfQ0KKw0KKyAg ICBpZWVlODAyMTFfd2F0Y2hkb2coaWMpOw0KKw0KKyAgICBSVU1fVU5MT0NLKHNjKTsNCit9 DQorDQorc3RhdGljIGludA0KK3J1bV9pb2N0bChzdHJ1Y3QgaWZuZXQgKmlmcCwgdV9sb25n IGNtZCwgY2FkZHJfdCBkYXRhKQ0KK3sNCisgICAgc3RydWN0IHJ1bV9zb2Z0YyAqc2MgPSBp ZnAtPmlmX3NvZnRjOw0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2Nf aWM7DQorICAgIGludCBlcnJvciA9IDA7DQorDQorICAgIHN3aXRjaCAoY21kKSB7DQorICAg IGNhc2UgU0lPQ1NJRkZMQUdTOg0KKyAgICAgICAgaWYgKGlmcC0+aWZfZmxhZ3MgJiBJRkZf VVApIHsNCisgICAgICAgICAgICBpZiAoaWZwLT5pZl9kcnZfZmxhZ3MgJiBJRkZfRFJWX1JV Tk5JTkcpew0KKyAgICAJCQlSVU1fTE9DSyhzYyk7DQorICAgICAgICAgICAgICAgIHJ1bV91 cGRhdGVfcHJvbWlzYyhzYyk7DQorICAgIAkJCVJVTV9VTkxPQ0soc2MpOw0KKyAgICAgICAg ICAgIH0gZWxzZSB7DQorICAgIAkJCVJVTV9MT0NLKHNjKTsNCisgICAgICAgICAgICAgICAg cnVtX2luaXQoc2MpOw0KKyAgICAJCQlSVU1fVU5MT0NLKHNjKTsNCisJCQl9DQorICAgICAg ICB9IGVsc2Ugew0KKyAgICAgICAgICAgIGlmIChpZnAtPmlmX2Rydl9mbGFncyAmIElGRl9E UlZfUlVOTklORyl7DQorICAgIAkJCVJVTV9MT0NLKHNjKTsNCisgICAgICAgICAgICAgICAg cnVtX3N0b3AoaWZwKTsNCisgICAgCQkJUlVNX1VOTE9DSyhzYyk7DQorCQkJfQ0KKyAgICAg ICAgfQ0KKyAgICAgICAgYnJlYWs7DQorDQorICAgIGRlZmF1bHQ6DQorICAgICAgICBlcnJv ciA9IGllZWU4MDIxMV9pb2N0bChpYywgY21kLCBkYXRhKTsNCisgICAgfQ0KKw0KKyAgICBp ZiAoZXJyb3IgPT0gRU5FVFJFU0VUKSB7DQorCQlpZiAoKGlmcC0+aWZfZmxhZ3MgJiBJRkZf VVApICYmDQorICAgICAgICAgICAgCShpZnAtPmlmX2Rydl9mbGFncyAmIElGRl9EUlZfUlVO TklORykgJiYNCisJCQkJKGljLT5pY19yb2FtaW5nICE9IElFRUU4MDIxMV9ST0FNSU5HX01B TlVBTCkpew0KKyAgICAJCVJVTV9MT0NLKHNjKTsNCisgICAgICAgIAlydW1faW5pdChzYyk7 DQorICAgIAkJUlVNX1VOTE9DSyhzYyk7DQorCQl9DQorICAgICAgICBlcnJvciA9IDA7DQor ICAgIH0NCisNCisgICAgcmV0dXJuIGVycm9yOw0KK30NCisNCitzdGF0aWMgdm9pZA0KK3J1 bV9lZXByb21fcmVhZChzdHJ1Y3QgcnVtX3NvZnRjICpzYywgdWludDE2X3QgYWRkciwgdm9p ZCAqYnVmLCBpbnQgbGVuKQ0KK3sNCisgICAgdXNiX2RldmljZV9yZXF1ZXN0X3QgcmVxOw0K KyAgICB1c2JkX3N0YXR1cyBlcnJvcjsNCisNCisgICAgcmVxLmJtUmVxdWVzdFR5cGUgPSBV VF9SRUFEX1ZFTkRPUl9ERVZJQ0U7DQorICAgIHJlcS5iUmVxdWVzdCA9IFJUMjU3M19SRUFE X0VFUFJPTTsNCisgICAgVVNFVFcocmVxLndWYWx1ZSwgMCk7DQorICAgIFVTRVRXKHJlcS53 SW5kZXgsIGFkZHIpOw0KKyAgICBVU0VUVyhyZXEud0xlbmd0aCwgbGVuKTsNCisNCisgICAg ZXJyb3IgPSB1c2JkX2RvX3JlcXVlc3Qoc2MtPnNjX3VkZXYsICZyZXEsIGJ1Zik7DQorICAg IGlmIChlcnJvciAhPSAwKSB7DQorICAgICAgICBwcmludGYoIiVzOiBjb3VsZCBub3QgcmVh ZCBFRVBST006ICVzXG4iLA0KKyAgICAgICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQoc2Mt PnNjX2RldiksIHVzYmRfZXJyc3RyKGVycm9yKSk7DQorICAgIH0NCit9DQorDQorc3RhdGlj IHVpbnQzMl90DQorcnVtX3JlYWQoc3RydWN0IHJ1bV9zb2Z0YyAqc2MsIHVpbnQxNl90IHJl ZykNCit7DQorICAgIHVpbnQzMl90IHZhbDsNCisNCisgICAgcnVtX3JlYWRfbXVsdGkoc2Ms IHJlZywgJnZhbCwgc2l6ZW9mIHZhbCk7DQorDQorICAgIHJldHVybiBsZTMydG9oKHZhbCk7 DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorcnVtX3JlYWRfbXVsdGkoc3RydWN0IHJ1bV9zb2Z0 YyAqc2MsIHVpbnQxNl90IHJlZywgdm9pZCAqYnVmLCBpbnQgbGVuKQ0KK3sNCisgICAgdXNi X2RldmljZV9yZXF1ZXN0X3QgcmVxOw0KKyAgICB1c2JkX3N0YXR1cyBlcnJvcjsNCisNCisg ICAgcmVxLmJtUmVxdWVzdFR5cGUgPSBVVF9SRUFEX1ZFTkRPUl9ERVZJQ0U7DQorICAgIHJl cS5iUmVxdWVzdCA9IFJUMjU3M19SRUFEX01VTFRJX01BQzsNCisgICAgVVNFVFcocmVxLndW YWx1ZSwgMCk7DQorICAgIFVTRVRXKHJlcS53SW5kZXgsIHJlZyk7DQorICAgIFVTRVRXKHJl cS53TGVuZ3RoLCBsZW4pOw0KKw0KKyAgICBlcnJvciA9IHVzYmRfZG9fcmVxdWVzdChzYy0+ c2NfdWRldiwgJnJlcSwgYnVmKTsNCisgICAgaWYgKGVycm9yICE9IDApIHsNCisgICAgICAg IHByaW50ZigiJXM6IGNvdWxkIG5vdCBtdWx0aSByZWFkIE1BQyByZWdpc3RlcjogJXNcbiIs DQorICAgICAgICAgICAgZGV2aWNlX2dldF9uYW1ldW5pdChzYy0+c2NfZGV2KSwgdXNiZF9l cnJzdHIoZXJyb3IpKTsNCisgICAgfQ0KK30NCisNCitzdGF0aWMgdm9pZA0KK3J1bV93cml0 ZShzdHJ1Y3QgcnVtX3NvZnRjICpzYywgdWludDE2X3QgcmVnLCB1aW50MzJfdCB2YWwpDQor ew0KKyAgICB1aW50MzJfdCB0bXAgPSBodG9sZTMyKHZhbCk7DQorDQorICAgIHJ1bV93cml0 ZV9tdWx0aShzYywgcmVnLCAmdG1wLCBzaXplb2YgdG1wKTsNCit9DQorDQorc3RhdGljIHZv aWQNCitydW1fd3JpdGVfbXVsdGkoc3RydWN0IHJ1bV9zb2Z0YyAqc2MsIHVpbnQxNl90IHJl Zywgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sNCisgICAgdXNiX2RldmljZV9yZXF1ZXN0 X3QgcmVxOw0KKyAgICB1c2JkX3N0YXR1cyBlcnJvcjsNCisNCisgICAgcmVxLmJtUmVxdWVz dFR5cGUgPSBVVF9XUklURV9WRU5ET1JfREVWSUNFOw0KKyAgICByZXEuYlJlcXVlc3QgPSBS VDI1NzNfV1JJVEVfTVVMVElfTUFDOw0KKyAgICBVU0VUVyhyZXEud1ZhbHVlLCAwKTsNCisg ICAgVVNFVFcocmVxLndJbmRleCwgcmVnKTsNCisgICAgVVNFVFcocmVxLndMZW5ndGgsIGxl bik7DQorDQorICAgIGVycm9yID0gdXNiZF9kb19yZXF1ZXN0KHNjLT5zY191ZGV2LCAmcmVx LCBidWYpOw0KKyAgICBpZiAoZXJyb3IgIT0gMCkgew0KKyAgICAgICAgcHJpbnRmKCIlczog Y291bGQgbm90IG11bHRpIHdyaXRlIE1BQyByZWdpc3RlcjogJXNcbiIsDQorICAgICAgICAg ICAgZGV2aWNlX2dldF9uYW1ldW5pdChzYy0+c2NfZGV2KSwgdXNiZF9lcnJzdHIoZXJyb3Ip KTsNCisgICAgfQ0KK30NCisNCitzdGF0aWMgdm9pZA0KK3J1bV9iYnBfd3JpdGUoc3RydWN0 IHJ1bV9zb2Z0YyAqc2MsIHVpbnQ4X3QgcmVnLCB1aW50OF90IHZhbCkNCit7DQorICAgIHVp bnQzMl90IHRtcDsNCisgICAgaW50IG50cmllczsNCisNCisgICAgZm9yIChudHJpZXMgPSAw OyBudHJpZXMgPCA1OyBudHJpZXMrKykgew0KKyAgICAgICAgaWYgKCEocnVtX3JlYWQoc2Ms IFJUMjU3M19QSFlfQ1NSMykgJiBSVDI1NzNfQkJQX0JVU1kpKQ0KKyAgICAgICAgICAgIGJy ZWFrOw0KKyAgICB9DQorICAgIGlmIChudHJpZXMgPT0gNSkgew0KKyAgICAgICAgcHJpbnRm KCIlczogY291bGQgbm90IHdyaXRlIHRvIEJCUFxuIiwgZGV2aWNlX2dldF9uYW1ldW5pdChz Yy0+c2NfZGV2KSk7DQorICAgICAgICByZXR1cm47DQorICAgIH0NCisNCisgICAgdG1wID0g UlQyNTczX0JCUF9CVVNZIHwgKHJlZyAmIDB4N2YpIDw8IDggfCB2YWw7DQorICAgIHJ1bV93 cml0ZShzYywgUlQyNTczX1BIWV9DU1IzLCB0bXApOw0KK30NCisNCitzdGF0aWMgdWludDhf dA0KK3J1bV9iYnBfcmVhZChzdHJ1Y3QgcnVtX3NvZnRjICpzYywgdWludDhfdCByZWcpDQor ew0KKyAgICB1aW50MzJfdCB2YWw7DQorICAgIGludCBudHJpZXM7DQorDQorICAgIGZvciAo bnRyaWVzID0gMDsgbnRyaWVzIDwgNTsgbnRyaWVzKyspIHsNCisgICAgICAgIGlmICghKHJ1 bV9yZWFkKHNjLCBSVDI1NzNfUEhZX0NTUjMpICYgUlQyNTczX0JCUF9CVVNZKSkNCisgICAg ICAgICAgICBicmVhazsNCisgICAgfQ0KKyAgICBpZiAobnRyaWVzID09IDUpIHsNCisgICAg ICAgIHByaW50ZigiJXM6IGNvdWxkIG5vdCByZWFkIEJCUFxuIiwgZGV2aWNlX2dldF9uYW1l dW5pdChzYy0+c2NfZGV2KSk7DQorICAgICAgICByZXR1cm4gMDsNCisgICAgfQ0KKw0KKyAg ICB2YWwgPSBSVDI1NzNfQkJQX0JVU1kgfCBSVDI1NzNfQkJQX1JFQUQgfCByZWcgPDwgODsN CisgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfUEhZX0NTUjMsIHZhbCk7DQorDQorICAgIGZv ciAobnRyaWVzID0gMDsgbnRyaWVzIDwgMTAwOyBudHJpZXMrKykgew0KKyAgICAgICAgdmFs ID0gcnVtX3JlYWQoc2MsIFJUMjU3M19QSFlfQ1NSMyk7DQorICAgICAgICBpZiAoISh2YWwg JiBSVDI1NzNfQkJQX0JVU1kpKQ0KKyAgICAgICAgICAgIHJldHVybiB2YWwgJiAweGZmOw0K KyAgICAgICAgREVMQVkoMSk7DQorICAgIH0NCisNCisgICAgcHJpbnRmKCIlczogY291bGQg bm90IHJlYWQgQkJQXG4iLCBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpKTsNCisg ICAgcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorcnVtX3JmX3dyaXRlKHN0cnVj dCBydW1fc29mdGMgKnNjLCB1aW50OF90IHJlZywgdWludDMyX3QgdmFsKQ0KK3sNCisgICAg dWludDMyX3QgdG1wOw0KKyAgICBpbnQgbnRyaWVzOw0KKw0KKyAgICBmb3IgKG50cmllcyA9 IDA7IG50cmllcyA8IDU7IG50cmllcysrKSB7DQorICAgICAgICBpZiAoIShydW1fcmVhZChz YywgUlQyNTczX1BIWV9DU1I0KSAmIFJUMjU3M19SRl9CVVNZKSkNCisgICAgICAgICAgICBi cmVhazsNCisgICAgfQ0KKyAgICBpZiAobnRyaWVzID09IDUpIHsNCisgICAgICAgIHByaW50 ZigiJXM6IGNvdWxkIG5vdCB3cml0ZSB0byBSRlxuIiwgZGV2aWNlX2dldF9uYW1ldW5pdChz Yy0+c2NfZGV2KSk7DQorICAgICAgICByZXR1cm47DQorICAgIH0NCisNCisgICAgdG1wID0g UlQyNTczX1JGX0JVU1kgfCBSVDI1NzNfUkZfMjBCSVQgfCAodmFsICYgMHhmZmZmZikgPDwg MiB8DQorICAgICAgICAocmVnICYgMyk7DQorICAgIHJ1bV93cml0ZShzYywgUlQyNTczX1BI WV9DU1I0LCB0bXApOw0KKw0KKyAgICAvKiByZW1lbWJlciBsYXN0IHdyaXR0ZW4gdmFsdWUg aW4gc2MgKi8NCisgICAgc2MtPnJmX3JlZ3NbcmVnXSA9IHZhbDsNCisNCisgICAgRFBSSU5U Rk4oMTUsICgiUkYgUlsldV0gPC0gMHglMDV4XG4iLCByZWcgJiAzLCB2YWwgJiAweGZmZmZm KSk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorcnVtX3NlbGVjdF9hbnRlbm5hKHN0cnVjdCBy dW1fc29mdGMgKnNjKQ0KK3sNCisgICAgdWludDhfdCBiYnA0LCBiYnA3NzsNCisgICAgdWlu dDMyX3QgdG1wOw0KKw0KKyAgICBiYnA0ICA9IHJ1bV9iYnBfcmVhZChzYywgNCk7DQorICAg IGJicDc3ID0gcnVtX2JicF9yZWFkKHNjLCA3Nyk7DQorDQorICAgIC8qIFRCRCAqLw0KKw0K KyAgICAvKiBtYWtlIHN1cmUgUnggaXMgZGlzYWJsZWQgYmVmb3JlIHN3aXRjaGluZyBhbnRl bm5hICovDQorICAgIHRtcCA9IHJ1bV9yZWFkKHNjLCBSVDI1NzNfVFhSWF9DU1IwKTsNCisg ICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1IwLCB0bXAgfCBSVDI1NzNfRElTQUJM RV9SWCk7DQorDQorICAgIHJ1bV9iYnBfd3JpdGUoc2MsICA0LCBiYnA0KTsNCisgICAgcnVt X2JicF93cml0ZShzYywgNzcsIGJicDc3KTsNCisNCisgICAgcnVtX3dyaXRlKHNjLCBSVDI1 NzNfVFhSWF9DU1IwLCB0bXApOw0KK30NCisNCisvKg0KKyAqIEVuYWJsZSBtdWx0aS1yYXRl IHJldHJpZXMgZm9yIGZyYW1lcyBzZW50IGF0IE9GRE0gcmF0ZXMuDQorICogSW4gODAyLjEx Yi9nIG1vZGUsIGFsbG93IGZhbGxiYWNrIHRvIENDSyByYXRlcy4NCisgKi8NCitzdGF0aWMg dm9pZA0KK3J1bV9lbmFibGVfbXJyKHN0cnVjdCBydW1fc29mdGMgKnNjKQ0KK3sNCisgICAg c3RydWN0IGllZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICB1aW50MzJfdCB0 bXA7DQorDQorICAgIHRtcCA9IHJ1bV9yZWFkKHNjLCBSVDI1NzNfVFhSWF9DU1I0KTsNCisN CisgICAgdG1wICY9IH5SVDI1NzNfTVJSX0NDS19GQUxMQkFDSzsNCisgICAgaWYgKCFJRUVF ODAyMTFfSVNfQ0hBTl81R0haKGljLT5pY19jdXJjaGFuKSkNCisgICAgICAgIHRtcCB8PSBS VDI1NzNfTVJSX0NDS19GQUxMQkFDSzsNCisgICAgdG1wIHw9IFJUMjU3M19NUlJfRU5BQkxF RDsNCisNCisgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1I0LCB0bXApOw0KK30N CisNCitzdGF0aWMgdm9pZA0KK3J1bV9zZXRfdHhwcmVhbWJsZShzdHJ1Y3QgcnVtX3NvZnRj ICpzYykNCit7DQorICAgIHVpbnQzMl90IHRtcDsNCisNCisgICAgdG1wID0gcnVtX3JlYWQo c2MsIFJUMjU3M19UWFJYX0NTUjQpOw0KKw0KKyAgICB0bXAgJj0gflJUMjU3M19TSE9SVF9Q UkVBTUJMRTsNCisgICAgaWYgKHNjLT5zY19pYy5pY19mbGFncyAmIElFRUU4MDIxMV9GX1NI UFJFQU1CTEUpDQorICAgICAgICB0bXAgfD0gUlQyNTczX1NIT1JUX1BSRUFNQkxFOw0KKw0K KyAgICBydW1fd3JpdGUoc2MsIFJUMjU3M19UWFJYX0NTUjQsIHRtcCk7DQorfQ0KKw0KK3N0 YXRpYyB2b2lkDQorcnVtX3NldF9iYXNpY3JhdGVzKHN0cnVjdCBydW1fc29mdGMgKnNjKQ0K K3sNCisgICAgc3RydWN0IGllZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKw0KKyAg ICAvKiB1cGRhdGUgYmFzaWMgcmF0ZSBzZXQgKi8NCisgICAgaWYgKGljLT5pY19jdXJtb2Rl ID09IElFRUU4MDIxMV9NT0RFXzExQikgew0KKyAgICAgICAgLyogMTFiIGJhc2ljIHJhdGVz OiAxLCAyTWJwcyAqLw0KKyAgICAgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1I1 LCAweDMpOw0KKyAgICB9IGVsc2UgaWYgKElFRUU4MDIxMV9JU19DSEFOXzVHSFooaWMtPmlj X2Jzcy0+bmlfY2hhbikpIHsNCisgICAgICAgIC8qIDExYSBiYXNpYyByYXRlczogNiwgMTIs IDI0TWJwcyAqLw0KKyAgICAgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1I1LCAw eDE1MCk7DQorICAgIH0gZWxzZSB7DQorICAgICAgICAvKiAxMWcgYmFzaWMgcmF0ZXM6IDEs IDIsIDUuNSwgMTEsIDYsIDEyLCAyNE1icHMgKi8NCisgICAgICAgIHJ1bV93cml0ZShzYywg UlQyNTczX1RYUlhfQ1NSNSwgMHgxNWYpOw0KKyAgICB9DQorfQ0KKw0KKy8qDQorICogUmVw cm9ncmFtIE1BQy9CQlAgdG8gc3dpdGNoIHRvIGEgbmV3IGJhbmQuICBWYWx1ZXMgdGFrZW4g ZnJvbSB0aGUgcmVmZXJlbmNlDQorICogZHJpdmVyLg0KKyAqLw0KK3N0YXRpYyB2b2lkDQor cnVtX3NlbGVjdF9iYW5kKHN0cnVjdCBydW1fc29mdGMgKnNjLCBzdHJ1Y3QgaWVlZTgwMjEx X2NoYW5uZWwgKmMpDQorew0KKyAgICB1aW50OF90IGJicDE3LCBiYnAzNSwgYmJwOTYsIGJi cDk3LCBiYnA5OCwgYmJwMTA0Ow0KKyAgICB1aW50MzJfdCB0bXA7DQorDQorICAgIC8qIHVw ZGF0ZSBhbGwgQkJQIHJlZ2lzdGVycyB0aGF0IGRlcGVuZCBvbiB0aGUgYmFuZCAqLw0KKyAg ICBiYnAxNyA9IDB4MjA7IGJicDk2ID0gMHg0ODsgYmJwMTA0ID0gMHgyYzsNCisgICAgYmJw MzUgPSAweDUwOyBiYnA5NyA9IDB4NDg7IGJicDk4ICA9IDB4NDg7DQorICAgIGlmIChJRUVF ODAyMTFfSVNfQ0hBTl81R0haKGMpKSB7DQorICAgICAgICBiYnAxNyArPSAweDA4OyBiYnA5 NiArPSAweDEwOyBiYnAxMDQgKz0gMHgwYzsNCisgICAgICAgIGJicDM1ICs9IDB4MTA7IGJi cDk3ICs9IDB4MTA7IGJicDk4ICArPSAweDEwOw0KKyAgICB9DQorICAgIGlmICgoSUVFRTgw MjExX0lTX0NIQU5fMkdIWihjKSAmJiBzYy0+ZXh0XzJnaHpfbG5hKSB8fA0KKyAgICAgICAg KElFRUU4MDIxMV9JU19DSEFOXzVHSFooYykgJiYgc2MtPmV4dF81Z2h6X2xuYSkpIHsNCisg ICAgICAgIGJicDE3ICs9IDB4MTA7IGJicDk2ICs9IDB4MTA7IGJicDEwNCArPSAweDEwOw0K KyAgICB9DQorDQorICAgIHNjLT5iYnAxNyA9IGJicDE3Ow0KKyAgICBydW1fYmJwX3dyaXRl KHNjLCAgMTcsIGJicDE3KTsNCisgICAgcnVtX2JicF93cml0ZShzYywgIDk2LCBiYnA5Nik7 DQorICAgIHJ1bV9iYnBfd3JpdGUoc2MsIDEwNCwgYmJwMTA0KTsNCisNCisgICAgaWYgKChJ RUVFODAyMTFfSVNfQ0hBTl8yR0haKGMpICYmIHNjLT5leHRfMmdoel9sbmEpIHx8DQorICAg ICAgICAoSUVFRTgwMjExX0lTX0NIQU5fNUdIWihjKSAmJiBzYy0+ZXh0XzVnaHpfbG5hKSkg ew0KKyAgICAgICAgcnVtX2JicF93cml0ZShzYywgNzUsIDB4ODApOw0KKyAgICAgICAgcnVt X2JicF93cml0ZShzYywgODYsIDB4ODApOw0KKyAgICAgICAgcnVtX2JicF93cml0ZShzYywg ODgsIDB4ODApOw0KKyAgICB9DQorDQorICAgIHJ1bV9iYnBfd3JpdGUoc2MsIDM1LCBiYnAz NSk7DQorICAgIHJ1bV9iYnBfd3JpdGUoc2MsIDk3LCBiYnA5Nyk7DQorICAgIHJ1bV9iYnBf d3JpdGUoc2MsIDk4LCBiYnA5OCk7DQorDQorICAgIHRtcCA9IHJ1bV9yZWFkKHNjLCBSVDI1 NzNfUEhZX0NTUjApOw0KKyAgICB0bXAgJj0gfihSVDI1NzNfUEFfUEVfMkdIWiB8IFJUMjU3 M19QQV9QRV81R0haKTsNCisgICAgaWYgKElFRUU4MDIxMV9JU19DSEFOXzJHSFooYykpDQor ICAgICAgICB0bXAgfD0gUlQyNTczX1BBX1BFXzJHSFo7DQorICAgIGVsc2UNCisgICAgICAg IHRtcCB8PSBSVDI1NzNfUEFfUEVfNUdIWjsNCisgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNf UEhZX0NTUjAsIHRtcCk7DQorDQorICAgIC8qIDgwMi4xMWEgdXNlcyBhIDE2IG1pY3Jvc2Vj b25kcyBzaG9ydCBpbnRlcmZyYW1lIHNwYWNlICovDQorICAgIHNjLT5zaWZzID0gSUVFRTgw MjExX0lTX0NIQU5fNUdIWihjKSA/IDE2IDogMTA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQor cnVtX3NldF9jaGFuKHN0cnVjdCBydW1fc29mdGMgKnNjLCBzdHJ1Y3QgaWVlZTgwMjExX2No YW5uZWwgKmMpDQorew0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2Nf aWM7DQorICAgIGNvbnN0IHN0cnVjdCByZnByb2cgKnJmcHJvZzsNCisgICAgdWludDhfdCBi YnAzLCBiYnA5NCA9IFJUMjU3M19CQlBSOTRfREVGQVVMVDsNCisgICAgaW50OF90IHBvd2Vy Ow0KKyAgICB1X2ludCBpLCBjaGFuOw0KKw0KKyAgICBjaGFuID0gaWVlZTgwMjExX2NoYW4y aWVlZShpYywgYyk7DQorICAgIGlmIChjaGFuID09IDAgfHwgY2hhbiA9PSBJRUVFODAyMTFf Q0hBTl9BTlkpDQorICAgICAgICByZXR1cm47DQorDQorICAgIC8qIHNlbGVjdCB0aGUgYXBw cm9wcmlhdGUgUkYgc2V0dGluZ3MgYmFzZWQgb24gd2hhdCBFRVBST00gc2F5cyAqLw0KKyAg ICByZnByb2cgPSAoc2MtPnJmX3JldiA9PSBSVDI1NzNfUkZfNTIyNSB8fA0KKyAgICAgICAg ICBzYy0+cmZfcmV2ID09IFJUMjU3M19SRl8yNTI3KSA/IHJ1bV9yZjUyMjUgOiBydW1fcmY1 MjI2Ow0KKw0KKyAgICAvKiBmaW5kIHRoZSBzZXR0aW5ncyBmb3IgdGhpcyBjaGFubmVsICh3 ZSBrbm93IGl0IGV4aXN0cykgKi8NCisgICAgZm9yIChpID0gMDsgcmZwcm9nW2ldLmNoYW4g IT0gY2hhbjsgaSsrKTsNCisNCisgICAgcG93ZXIgPSBzYy0+dHhwb3dbaV07DQorICAgIGlm IChwb3dlciA8IDApIHsNCisgICAgICAgIGJicDk0ICs9IHBvd2VyOw0KKyAgICAgICAgcG93 ZXIgPSAwOw0KKyAgICB9IGVsc2UgaWYgKHBvd2VyID4gMzEpIHsNCisgICAgICAgIGJicDk0 ICs9IHBvd2VyIC0gMzE7DQorICAgICAgICBwb3dlciA9IDMxOw0KKyAgICB9DQorDQorICAg IC8qDQorICAgICAqIElmIHdlIGFyZSBzd2l0Y2hpbmcgZnJvbSB0aGUgMkdIeiBiYW5kIHRv IHRoZSA1R0h6IGJhbmQgb3INCisgICAgICogdmljZS12ZXJzYSwgQkJQIHJlZ2lzdGVycyBu ZWVkIHRvIGJlIHJlcHJvZ3JhbW1lZC4NCisgICAgICovDQorICAgIGlmIChjLT5pY19mbGFn cyAhPSBpYy0+aWNfY3VyY2hhbi0+aWNfZmxhZ3MpIHsNCisgICAgICAgIHJ1bV9zZWxlY3Rf YmFuZChzYywgYyk7DQorICAgICAgICBydW1fc2VsZWN0X2FudGVubmEoc2MpOw0KKyAgICB9 DQorICAgIGljLT5pY19jdXJjaGFuID0gYzsNCisNCisgICAgcnVtX3JmX3dyaXRlKHNjLCBS VDI1NzNfUkYxLCByZnByb2dbaV0ucjEpOw0KKyAgICBydW1fcmZfd3JpdGUoc2MsIFJUMjU3 M19SRjIsIHJmcHJvZ1tpXS5yMik7DQorICAgIHJ1bV9yZl93cml0ZShzYywgUlQyNTczX1JG MywgcmZwcm9nW2ldLnIzIHwgcG93ZXIgPDwgNyk7DQorICAgIHJ1bV9yZl93cml0ZShzYywg UlQyNTczX1JGNCwgcmZwcm9nW2ldLnI0IHwgc2MtPnJmZnJlcSA8PCAxMCk7DQorDQorICAg IHJ1bV9yZl93cml0ZShzYywgUlQyNTczX1JGMSwgcmZwcm9nW2ldLnIxKTsNCisgICAgcnVt X3JmX3dyaXRlKHNjLCBSVDI1NzNfUkYyLCByZnByb2dbaV0ucjIpOw0KKyAgICBydW1fcmZf d3JpdGUoc2MsIFJUMjU3M19SRjMsIHJmcHJvZ1tpXS5yMyB8IHBvd2VyIDw8IDcgfCAxKTsN CisgICAgcnVtX3JmX3dyaXRlKHNjLCBSVDI1NzNfUkY0LCByZnByb2dbaV0ucjQgfCBzYy0+ cmZmcmVxIDw8IDEwKTsNCisNCisgICAgcnVtX3JmX3dyaXRlKHNjLCBSVDI1NzNfUkYxLCBy ZnByb2dbaV0ucjEpOw0KKyAgICBydW1fcmZfd3JpdGUoc2MsIFJUMjU3M19SRjIsIHJmcHJv Z1tpXS5yMik7DQorICAgIHJ1bV9yZl93cml0ZShzYywgUlQyNTczX1JGMywgcmZwcm9nW2ld LnIzIHwgcG93ZXIgPDwgNyk7DQorICAgIHJ1bV9yZl93cml0ZShzYywgUlQyNTczX1JGNCwg cmZwcm9nW2ldLnI0IHwgc2MtPnJmZnJlcSA8PCAxMCk7DQorDQorICAgIERFTEFZKDEwKTsN CisNCisgICAgLyogZW5hYmxlIHNtYXJ0IG1vZGUgZm9yIE1JTU8tY2FwYWJsZSBSRnMgKi8N CisgICAgYmJwMyA9IHJ1bV9iYnBfcmVhZChzYywgMyk7DQorDQorICAgIGJicDMgJj0gflJU MjU3M19TTUFSVF9NT0RFOw0KKyAgICBpZiAoc2MtPnJmX3JldiA9PSBSVDI1NzNfUkZfNTIy NSB8fCBzYy0+cmZfcmV2ID09IFJUMjU3M19SRl8yNTI3KQ0KKyAgICAgICAgYmJwMyB8PSBS VDI1NzNfU01BUlRfTU9ERTsNCisNCisgICAgcnVtX2JicF93cml0ZShzYywgMywgYmJwMyk7 DQorDQorICAgIGlmIChiYnA5NCAhPSBSVDI1NzNfQkJQUjk0X0RFRkFVTFQpDQorICAgICAg ICBydW1fYmJwX3dyaXRlKHNjLCA5NCwgYmJwOTQpOw0KK30NCisNCisvKg0KKyAqIEVuYWJs ZSBUU0Ygc3luY2hyb25pemF0aW9uIGFuZCB0ZWxsIGgvdyB0byBzdGFydCBzZW5kaW5nIGJl YWNvbnMgZm9yIElCU1MNCisgKiBhbmQgSG9zdEFQIG9wZXJhdGluZyBtb2Rlcy4NCisgKi8N CitzdGF0aWMgdm9pZA0KK3J1bV9lbmFibGVfdHNmX3N5bmMoc3RydWN0IHJ1bV9zb2Z0YyAq c2MpDQorew0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2NfaWM7DQor ICAgIHVpbnQzMl90IHRtcDsNCisNCisgICAgaWYgKGljLT5pY19vcG1vZGUgIT0gSUVFRTgw MjExX01fU1RBKSB7DQorICAgICAgICAvKg0KKyAgICAgICAgICogQ2hhbmdlIGRlZmF1bHQg MTZtcyBUQlRUIGFkanVzdG1lbnQgdG8gOG1zLg0KKyAgICAgICAgICogTXVzdCBiZSBkb25l IGJlZm9yZSBlbmFibGluZyBiZWFjb24gZ2VuZXJhdGlvbi4NCisgICAgICAgICAqLw0KKyAg ICAgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1IxMCwgMSA8PCAxMiB8IDgpOw0K KyAgICB9DQorDQorICAgIHRtcCA9IHJ1bV9yZWFkKHNjLCBSVDI1NzNfVFhSWF9DU1I5KSAm IDB4ZmYwMDAwMDA7DQorDQorICAgIC8qIHNldCBiZWFjb24gaW50ZXJ2YWwgKGluIDEvMTZt cyB1bml0KSAqLw0KKyAgICB0bXAgfD0gaWMtPmljX2Jzcy0+bmlfaW50dmFsICogMTY7DQor DQorICAgIHRtcCB8PSBSVDI1NzNfVFNGX1RJQ0tJTkcgfCBSVDI1NzNfRU5BQkxFX1RCVFQ7 DQorICAgIGlmIChpYy0+aWNfb3Btb2RlID09IElFRUU4MDIxMV9NX1NUQSkNCisgICAgICAg IHRtcCB8PSBSVDI1NzNfVFNGX01PREUoMSk7DQorICAgIGVsc2UNCisgICAgICAgIHRtcCB8 PSBSVDI1NzNfVFNGX01PREUoMikgfCBSVDI1NzNfR0VORVJBVEVfQkVBQ09OOw0KKw0KKyAg ICBydW1fd3JpdGUoc2MsIFJUMjU3M19UWFJYX0NTUjksIHRtcCk7DQorfQ0KKw0KK3N0YXRp YyB2b2lkDQorcnVtX3VwZGF0ZV9zbG90KHN0cnVjdCBydW1fc29mdGMgKnNjKQ0KK3sNCisg ICAgc3RydWN0IGllZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICB1aW50OF90 IHNsb3R0aW1lOw0KKyAgICB1aW50MzJfdCB0bXA7DQorDQorICAgIHNsb3R0aW1lID0gKGlj LT5pY19mbGFncyAmIElFRUU4MDIxMV9GX1NIU0xPVCkgPyA5IDogMjA7DQorDQorICAgIHRt cCA9IHJ1bV9yZWFkKHNjLCBSVDI1NzNfTUFDX0NTUjkpOw0KKyAgICB0bXAgPSAodG1wICYg fjB4ZmYpIHwgc2xvdHRpbWU7DQorICAgIHJ1bV93cml0ZShzYywgUlQyNTczX01BQ19DU1I5 LCB0bXApOw0KKw0KKyAgICBEUFJJTlRGKCgic2V0dGluZyBzbG90IHRpbWUgdG8gJXV1c1xu Iiwgc2xvdHRpbWUpKTsNCit9DQorDQorc3RhdGljIHZvaWQNCitydW1fc2V0X2Jzc2lkKHN0 cnVjdCBydW1fc29mdGMgKnNjLCBjb25zdCB1aW50OF90ICpic3NpZCkNCit7DQorICAgIHVp bnQzMl90IHRtcDsNCisNCisgICAgdG1wID0gYnNzaWRbMF0gfCBic3NpZFsxXSA8PCA4IHwg YnNzaWRbMl0gPDwgMTYgfCBic3NpZFszXSA8PCAyNDsNCisgICAgcnVtX3dyaXRlKHNjLCBS VDI1NzNfTUFDX0NTUjQsIHRtcCk7DQorDQorICAgIHRtcCA9IGJzc2lkWzRdIHwgYnNzaWRb NV0gPDwgOCB8IFJUMjU3M19PTkVfQlNTSUQgPDwgMTY7DQorICAgIHJ1bV93cml0ZShzYywg UlQyNTczX01BQ19DU1I1LCB0bXApOw0KK30NCisNCitzdGF0aWMgdm9pZA0KK3J1bV9zZXRf bWFjYWRkcihzdHJ1Y3QgcnVtX3NvZnRjICpzYywgY29uc3QgdWludDhfdCAqYWRkcikNCit7 DQorICAgIHVpbnQzMl90IHRtcDsNCisNCisgICAgdG1wID0gYWRkclswXSB8IGFkZHJbMV0g PDwgOCB8IGFkZHJbMl0gPDwgMTYgfCBhZGRyWzNdIDw8IDI0Ow0KKyAgICBydW1fd3JpdGUo c2MsIFJUMjU3M19NQUNfQ1NSMiwgdG1wKTsNCisNCisgICAgdG1wID0gYWRkcls0XSB8IGFk ZHJbNV0gPDwgOCB8IDB4ZmYgPDwgMTY7DQorICAgIHJ1bV93cml0ZShzYywgUlQyNTczX01B Q19DU1IzLCB0bXApOw0KK30NCisNCitzdGF0aWMgdm9pZA0KK3J1bV91cGRhdGVfcHJvbWlz YyhzdHJ1Y3QgcnVtX3NvZnRjICpzYykNCit7DQorICAgIHN0cnVjdCBpZm5ldCAqaWZwID0g c2MtPnNjX2ljLmljX2lmcDsNCisgICAgdWludDMyX3QgdG1wOw0KKw0KKyAgICB0bXAgPSBy dW1fcmVhZChzYywgUlQyNTczX1RYUlhfQ1NSMCk7DQorDQorICAgIHRtcCAmPSB+UlQyNTcz X0RST1BfTk9UX1RPX01FOw0KKyAgICBpZiAoIShpZnAtPmlmX2ZsYWdzICYgSUZGX1BST01J U0MpKQ0KKyAgICAgICAgdG1wIHw9IFJUMjU3M19EUk9QX05PVF9UT19NRTsNCisNCisgICAg cnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1IwLCB0bXApOw0KKw0KKyAgICBEUFJJTlRG KCgiJXMgcHJvbWlzY3VvdXMgbW9kZVxuIiwgKGlmcC0+aWZfZmxhZ3MgJiBJRkZfUFJPTUlT QykgPw0KKyAgICAgICAgImVudGVyaW5nIiA6ICJsZWF2aW5nIikpOw0KK30NCisNCitzdGF0 aWMgY29uc3QgY2hhciAqDQorcnVtX2dldF9yZihpbnQgcmV2KQ0KK3sNCisgICAgc3dpdGNo IChyZXYpIHsNCisgICAgY2FzZSBSVDI1NzNfUkZfMjUyNzogICAgcmV0dXJuICJSVDI1Mjcg KE1JTU8gWFIpIjsNCisgICAgY2FzZSBSVDI1NzNfUkZfMjUyODogICAgcmV0dXJuICJSVDI1 MjgiOw0KKyAgICBjYXNlIFJUMjU3M19SRl81MjI1OiAgICByZXR1cm4gIlJUNTIyNSAoTUlN TyBYUikiOw0KKyAgICBjYXNlIFJUMjU3M19SRl81MjI2OiAgICByZXR1cm4gIlJUNTIyNiI7 DQorICAgIGRlZmF1bHQ6ICAgICAgICByZXR1cm4gInVua25vd24iOw0KKyAgICB9DQorfQ0K Kw0KK3N0YXRpYyB2b2lkDQorcnVtX3JlYWRfZWVwcm9tKHN0cnVjdCBydW1fc29mdGMgKnNj KQ0KK3sNCisgICAgc3RydWN0IGllZWU4MDIxMWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAg ICB1aW50MTZfdCB2YWw7DQorI2lmZGVmIFJVTV9ERUJVRw0KKyAgICBpbnQgaTsNCisjZW5k aWYNCisNCisgICAgLyogcmVhZCBNQUMvQkJQIHR5cGUgKi8NCisgICAgcnVtX2VlcHJvbV9y ZWFkKHNjLCBSVDI1NzNfRUVQUk9NX01BQ0JCUCwgJnZhbCwgMik7DQorICAgIHNjLT5tYWNi YnBfcmV2ID0gbGUxNnRvaCh2YWwpOw0KKw0KKyAgICAvKiByZWFkIE1BQyBhZGRyZXNzICov DQorICAgIHJ1bV9lZXByb21fcmVhZChzYywgUlQyNTczX0VFUFJPTV9BRERSRVNTLCBpYy0+ aWNfbXlhZGRyLCA2KTsNCisNCisgICAgcnVtX2VlcHJvbV9yZWFkKHNjLCBSVDI1NzNfRUVQ Uk9NX0FOVEVOTkEsICZ2YWwsIDIpOw0KKyAgICB2YWwgPSBsZTE2dG9oKHZhbCk7DQorICAg IHNjLT5yZl9yZXYgPSAgICh2YWwgPj4gMTEpICYgMHgxZjsNCisgICAgc2MtPmh3X3JhZGlv ID0gKHZhbCA+PiAxMCkgJiAweDE7DQorICAgIHNjLT5yeF9hbnQgPSAgICh2YWwgPj4gNCkg ICYgMHgzOw0KKyAgICBzYy0+dHhfYW50ID0gICAodmFsID4+IDIpICAmIDB4MzsNCisgICAg c2MtPm5iX2FudCA9ICAgdmFsICYgMHgzOw0KKw0KKyAgICBEUFJJTlRGKCgiUkYgcmV2aXNp b249JWRcbiIsIHNjLT5yZl9yZXYpKTsNCisNCisgICAgcnVtX2VlcHJvbV9yZWFkKHNjLCBS VDI1NzNfRUVQUk9NX0NPTkZJRzIsICZ2YWwsIDIpOw0KKyAgICB2YWwgPSBsZTE2dG9oKHZh bCk7DQorICAgIHNjLT5leHRfNWdoel9sbmEgPSAodmFsID4+IDYpICYgMHgxOw0KKyAgICBz Yy0+ZXh0XzJnaHpfbG5hID0gKHZhbCA+PiA0KSAmIDB4MTsNCisNCisgICAgRFBSSU5URigo IkV4dGVybmFsIDJHSHogTE5BPSVkXG5FeHRlcm5hbCA1R0h6IExOQT0lZFxuIiwNCisgICAg ICAgIHNjLT5leHRfMmdoel9sbmEsIHNjLT5leHRfNWdoel9sbmEpKTsNCisNCisgICAgcnVt X2VlcHJvbV9yZWFkKHNjLCBSVDI1NzNfRUVQUk9NX1JTU0lfMkdIWl9PRkZTRVQsICZ2YWws IDIpOw0KKyAgICB2YWwgPSBsZTE2dG9oKHZhbCk7DQorICAgIGlmICgodmFsICYgMHhmZikg IT0gMHhmZikNCisgICAgICAgIHNjLT5yc3NpXzJnaHpfY29yciA9IChpbnQ4X3QpKHZhbCAm IDB4ZmYpOyAgICAvKiBzaWduZWQgKi8NCisNCisgICAgcnVtX2VlcHJvbV9yZWFkKHNjLCBS VDI1NzNfRUVQUk9NX1JTU0lfNUdIWl9PRkZTRVQsICZ2YWwsIDIpOw0KKyAgICB2YWwgPSBs ZTE2dG9oKHZhbCk7DQorICAgIGlmICgodmFsICYgMHhmZikgIT0gMHhmZikNCisgICAgICAg IHNjLT5yc3NpXzVnaHpfY29yciA9IChpbnQ4X3QpKHZhbCAmIDB4ZmYpOyAgICAvKiBzaWdu ZWQgKi8NCisNCisgICAgRFBSSU5URigoIlJTU0kgMkdIeiBjb3JyPSVkXG5SU1NJIDVHSHog Y29ycj0lZFxuIiwNCisgICAgICAgIHNjLT5yc3NpXzJnaHpfY29yciwgc2MtPnJzc2lfNWdo el9jb3JyKSk7DQorDQorICAgIHJ1bV9lZXByb21fcmVhZChzYywgUlQyNTczX0VFUFJPTV9G UkVRX09GRlNFVCwgJnZhbCwgMik7DQorICAgIHZhbCA9IGxlMTZ0b2godmFsKTsNCisgICAg aWYgKCh2YWwgJiAweGZmKSAhPSAweGZmKQ0KKyAgICAgICAgc2MtPnJmZnJlcSA9IHZhbCAm IDB4ZmY7DQorDQorICAgIERQUklOVEYoKCJSRiBmcmVxPSVkXG4iLCBzYy0+cmZmcmVxKSk7 DQorDQorICAgIC8qIHJlYWQgVHggcG93ZXIgZm9yIGFsbCBhL2IvZyBjaGFubmVscyAqLw0K KyAgICBydW1fZWVwcm9tX3JlYWQoc2MsIFJUMjU3M19FRVBST01fVFhQT1dFUiwgc2MtPnR4 cG93LCAxNCk7DQorICAgIC8qIFhYWCBkZWZhdWx0IFR4IHBvd2VyIGZvciA4MDIuMTFhIGNo YW5uZWxzICovDQorICAgIG1lbXNldChzYy0+dHhwb3cgKyAxNCwgMjQsIHNpemVvZiAoc2Mt PnR4cG93KSAtIDE0KTsNCisjaWZkZWYgUlVNX0RFQlVHDQorICAgIGZvciAoaSA9IDA7IGkg PCAxNDsgaSsrKQ0KKyAgICAgICAgRFBSSU5URigoIkNoYW5uZWw9JWQgVHggcG93ZXI9JWRc biIsIGkgKyAxLCAgc2MtPnR4cG93W2ldKSk7DQorI2VuZGlmDQorDQorICAgIC8qIHJlYWQg ZGVmYXVsdCB2YWx1ZXMgZm9yIEJCUCByZWdpc3RlcnMgKi8NCisgICAgcnVtX2VlcHJvbV9y ZWFkKHNjLCBSVDI1NzNfRUVQUk9NX0JCUF9CQVNFLCBzYy0+YmJwX3Byb20sIDIgKiAxNik7 DQorI2lmZGVmIFJVTV9ERUJVRw0KKyAgICBmb3IgKGkgPSAwOyBpIDwgMTQ7IGkrKykgew0K KyAgICAgICAgaWYgKHNjLT5iYnBfcHJvbVtpXS5yZWcgPT0gMCB8fCBzYy0+YmJwX3Byb21b aV0ucmVnID09IDB4ZmYpDQorICAgICAgICAgICAgY29udGludWU7DQorICAgICAgICBEUFJJ TlRGKCgiQkJQIFIlZD0lMDJ4XG4iLCBzYy0+YmJwX3Byb21baV0ucmVnLA0KKyAgICAgICAg ICAgIHNjLT5iYnBfcHJvbVtpXS52YWwpKTsNCisgICAgfQ0KKyNlbmRpZg0KK30NCisNCitz dGF0aWMgaW50DQorcnVtX2JicF9pbml0KHN0cnVjdCBydW1fc29mdGMgKnNjKQ0KK3sNCisj ZGVmaW5lIE4oYSkgICAgKHNpemVvZiAoYSkgLyBzaXplb2YgKChhKVswXSkpDQorICAgIGlu dCBpLCBudHJpZXM7DQorICAgIHVpbnQ4X3QgdmFsOw0KKw0KKyAgICAvKiB3YWl0IGZvciBC QlAgdG8gYmUgcmVhZHkgKi8NCisgICAgZm9yIChudHJpZXMgPSAwOyBudHJpZXMgPCAxMDA7 IG50cmllcysrKSB7DQorICAgICAgICB2YWwgPSBydW1fYmJwX3JlYWQoc2MsIDApOw0KKyAg ICAgICAgaWYgKHZhbCAhPSAwICYmIHZhbCAhPSAweGZmKQ0KKyAgICAgICAgICAgIGJyZWFr Ow0KKyAgICAgICAgREVMQVkoMTAwMCk7DQorICAgIH0NCisgICAgaWYgKG50cmllcyA9PSAx MDApIHsNCisgICAgICAgIHByaW50ZigiJXM6IHRpbWVvdXQgd2FpdGluZyBmb3IgQkJQXG4i LA0KKyAgICAgICAgICAgIGRldmljZV9nZXRfbmFtZXVuaXQoc2MtPnNjX2RldikpOw0KKyAg ICAgICAgcmV0dXJuIEVJTzsNCisgICAgfQ0KKw0KKyAgICAvKiBpbml0aWFsaXplIEJCUCBy ZWdpc3RlcnMgdG8gZGVmYXVsdCB2YWx1ZXMgKi8NCisgICAgZm9yIChpID0gMDsgaSA8IE4o cnVtX2RlZl9iYnApOyBpKyspDQorICAgICAgICBydW1fYmJwX3dyaXRlKHNjLCBydW1fZGVm X2JicFtpXS5yZWcsIHJ1bV9kZWZfYmJwW2ldLnZhbCk7DQorDQorICAgIC8qIHdyaXRlIHZl bmRvci1zcGVjaWZpYyBCQlAgdmFsdWVzIChmcm9tIEVFUFJPTSkgKi8NCisgICAgZm9yIChp ID0gMDsgaSA8IDE2OyBpKyspIHsNCisgICAgICAgIGlmIChzYy0+YmJwX3Byb21baV0ucmVn ID09IDAgfHwgc2MtPmJicF9wcm9tW2ldLnJlZyA9PSAweGZmKQ0KKyAgICAgICAgICAgIGNv bnRpbnVlOw0KKyAgICAgICAgcnVtX2JicF93cml0ZShzYywgc2MtPmJicF9wcm9tW2ldLnJl Zywgc2MtPmJicF9wcm9tW2ldLnZhbCk7DQorICAgIH0NCisNCisgICAgcmV0dXJuIDA7DQor I3VuZGVmIE4NCit9DQorDQorc3RhdGljIHZvaWQNCitydW1faW5pdCh2b2lkICpwcml2KQ0K K3sNCisjZGVmaW5lIE4oYSkgICAgKHNpemVvZiAoYSkgLyBzaXplb2YgKChhKVswXSkpDQor ICAgIHN0cnVjdCBydW1fc29mdGMgKnNjID0gcHJpdjsNCisgICAgc3RydWN0IGllZWU4MDIx MWNvbSAqaWMgPSAmc2MtPnNjX2ljOw0KKyAgICBzdHJ1Y3QgaWZuZXQgKmlmcCA9IGljLT5p Y19pZnA7DQorICAgIHN0cnVjdCBydW1fcnhfZGF0YSAqZGF0YTsNCisgICAgdWludDMyX3Qg dG1wOw0KKyAgICB1c2JkX3N0YXR1cyBlcnJvciA9IDA7DQorICAgIGludCBpLCBudHJpZXM7 DQorDQorLy8gICAgaWYgKChzYy0+c2NfZmxhZ3MgJiBSVDI1NzNfRldMT0FERUQpID09IDAp IHsNCisvLyAgICAgICAgcnVtX2F0dGFjaGhvb2soc2MpOw0KKy8vICAgIH0NCisNCisgICAg cnVtX3N0b3AoaWZwKTsNCisNCisgICAgLyogaW5pdGlhbGl6ZSBNQUMgcmVnaXN0ZXJzIHRv IGRlZmF1bHQgdmFsdWVzICovDQorICAgIGZvciAoaSA9IDA7IGkgPCBOKHJ1bV9kZWZfbWFj KTsgaSsrKQ0KKyAgICAgICAgcnVtX3dyaXRlKHNjLCBydW1fZGVmX21hY1tpXS5yZWcsIHJ1 bV9kZWZfbWFjW2ldLnZhbCk7DQorDQorICAgIC8qIHNldCBob3N0IHJlYWR5ICovDQorICAg IHJ1bV93cml0ZShzYywgUlQyNTczX01BQ19DU1IxLCAzKTsNCisgICAgcnVtX3dyaXRlKHNj LCBSVDI1NzNfTUFDX0NTUjEsIDApOw0KKw0KKyAgICAvKiB3YWl0IGZvciBCQlAvUkYgdG8g d2FrZXVwICovDQorICAgIGZvciAobnRyaWVzID0gMDsgbnRyaWVzIDwgMTAwMDsgbnRyaWVz KyspIHsNCisgICAgICAgIGlmIChydW1fcmVhZChzYywgUlQyNTczX01BQ19DU1IxMikgJiA4 KQ0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNf TUFDX0NTUjEyLCA0KTsgICAgLyogZm9yY2Ugd2FrZXVwICovDQorICAgICAgICBERUxBWSgx MDAwKTsNCisgICAgfQ0KKyAgICBpZiAobnRyaWVzID09IDEwMDApIHsNCisgICAgICAgIHBy aW50ZigiJXM6IHRpbWVvdXQgd2FpdGluZyBmb3IgQkJQL1JGIHRvIHdha2V1cFxuIiwNCisg ICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpKTsNCisgICAgICAg IGdvdG8gZmFpbDsNCisgICAgfQ0KKw0KKyAgICBpZiAoKGVycm9yID0gcnVtX2JicF9pbml0 KHNjKSkgIT0gMCkNCisgICAgICAgIGdvdG8gZmFpbDsNCisNCisgICAgLyogc2VsZWN0IGRl ZmF1bHQgY2hhbm5lbCAqLw0KKyAgICBydW1fc2VsZWN0X2JhbmQoc2MsIGljLT5pY19jdXJj aGFuKTsNCisgICAgcnVtX3NlbGVjdF9hbnRlbm5hKHNjKTsNCisgICAgcnVtX3NldF9jaGFu KHNjLCBpYy0+aWNfY3VyY2hhbik7DQorDQorICAgIC8qIGNsZWFyIFNUQSByZWdpc3RlcnMg Ki8NCisgICAgcnVtX3JlYWRfbXVsdGkoc2MsIFJUMjU3M19TVEFfQ1NSMCwgc2MtPnN0YSwg c2l6ZW9mIHNjLT5zdGEpOw0KKw0KKyAgICBJRUVFODAyMTFfQUREUl9DT1BZKGljLT5pY19t eWFkZHIsIElGX0xMQUREUihpZnApKTsNCisgICAgcnVtX3NldF9tYWNhZGRyKHNjLCBpYy0+ aWNfbXlhZGRyKTsNCisNCisgICAgLyogaW5pdGlhbGl6ZSBBU0lDICovDQorICAgIHJ1bV93 cml0ZShzYywgUlQyNTczX01BQ19DU1IxLCA0KTsNCisNCisgICAgLyoNCisgICAgICogQWxs b2NhdGUgeGZlciBmb3IgQU1SUiBzdGF0aXN0aWNzIHJlcXVlc3RzLg0KKyAgICAgKi8NCisg ICAgc2MtPmFtcnJfeGZlciA9IHVzYmRfYWxsb2NfeGZlcihzYy0+c2NfdWRldik7DQorICAg IGlmIChzYy0+YW1ycl94ZmVyID09IE5VTEwpIHsNCisgICAgICAgIHByaW50ZigiJXM6IGNv dWxkIG5vdCBhbGxvY2F0ZSBBTVJSIHhmZXJcbiIsDQorICAgICAgICAgICAgZGV2aWNlX2dl dF9uYW1ldW5pdChzYy0+c2NfZGV2KSk7DQorICAgICAgICBnb3RvIGZhaWw7DQorICAgIH0N CisNCisgICAgLyoNCisgICAgICogT3BlbiBUeCBhbmQgUnggVVNCIGJ1bGsgcGlwZXMuDQor ICAgICAqLw0KKyAgICBlcnJvciA9IHVzYmRfb3Blbl9waXBlKHNjLT5zY19pZmFjZSwgc2Mt PnNjX3R4X25vLCBVU0JEX0VYQ0xVU0lWRV9VU0UsDQorICAgICAgICAmc2MtPnNjX3R4X3Bp cGVoKTsNCisgICAgaWYgKGVycm9yICE9IDApIHsNCisgICAgICAgIHByaW50ZigiJXM6IGNv dWxkIG5vdCBvcGVuIFR4IHBpcGU6ICVzXG4iLA0KKyAgICAgICAgICAgIGRldmljZV9nZXRf bmFtZXVuaXQoc2MtPnNjX2RldiksIHVzYmRfZXJyc3RyKGVycm9yKSk7DQorICAgICAgICBn b3RvIGZhaWw7DQorICAgIH0NCisNCisgICAgZXJyb3IgPSB1c2JkX29wZW5fcGlwZShzYy0+ c2NfaWZhY2UsIHNjLT5zY19yeF9ubywgVVNCRF9FWENMVVNJVkVfVVNFLA0KKyAgICAgICAg JnNjLT5zY19yeF9waXBlaCk7DQorICAgIGlmIChlcnJvciAhPSAwKSB7DQorICAgICAgICBw cmludGYoIiVzOiBjb3VsZCBub3Qgb3BlbiBSeCBwaXBlOiAlc1xuIiwNCisgICAgICAgICAg ICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpLCB1c2JkX2VycnN0cihlcnJvcikp Ow0KKyAgICAgICAgZ290byBmYWlsOw0KKyAgICB9DQorDQorICAgIC8qDQorICAgICAqIEFs bG9jYXRlIFR4IGFuZCBSeCB4ZmVyIHF1ZXVlcy4NCisgICAgICovDQorICAgIGVycm9yID0g cnVtX2FsbG9jX3R4X2xpc3Qoc2MpOw0KKyAgICBpZiAoZXJyb3IgIT0gMCkgew0KKyAgICAg ICAgcHJpbnRmKCIlczogY291bGQgbm90IGFsbG9jYXRlIFR4IGxpc3RcbiIsDQorICAgICAg ICAgICAgZGV2aWNlX2dldF9uYW1ldW5pdChzYy0+c2NfZGV2KSk7DQorICAgICAgICBnb3Rv IGZhaWw7DQorICAgIH0NCisNCisgICAgZXJyb3IgPSBydW1fYWxsb2NfcnhfbGlzdChzYyk7 DQorICAgIGlmIChlcnJvciAhPSAwKSB7DQorICAgICAgICBwcmludGYoIiVzOiBjb3VsZCBu b3QgYWxsb2NhdGUgUnggbGlzdFxuIiwNCisgICAgICAgICAgICBkZXZpY2VfZ2V0X25hbWV1 bml0KHNjLT5zY19kZXYpKTsNCisgICAgICAgIGdvdG8gZmFpbDsNCisgICAgfQ0KKw0KKyAg ICAvKg0KKyAgICAgKiBTdGFydCB1cCB0aGUgcmVjZWl2ZSBwaXBlLg0KKyAgICAgKi8NCisg ICAgZm9yIChpID0gMDsgaSA8IFJUMjU3M19SWF9MSVNUX0NPVU5UOyBpKyspIHsNCisgICAg ICAgIGRhdGEgPSAmc2MtPnJ4X2RhdGFbaV07DQorDQorICAgICAgICB1c2JkX3NldHVwX3hm ZXIoZGF0YS0+eGZlciwgc2MtPnNjX3J4X3BpcGVoLCBkYXRhLCBkYXRhLT5idWYsDQorICAg ICAgICAgICAgTUNMQllURVMsIFVTQkRfU0hPUlRfWEZFUl9PSywgVVNCRF9OT19USU1FT1VU LCBydW1fcnhlb2YpOw0KKyAgICAgICAgdXNiZF90cmFuc2ZlcihkYXRhLT54ZmVyKTsNCisg ICAgfQ0KKw0KKyAgICAvKiB1cGRhdGUgUnggZmlsdGVyICovDQorICAgIHRtcCA9IHJ1bV9y ZWFkKHNjLCBSVDI1NzNfVFhSWF9DU1IwKSAmIDB4ZmZmZjsNCisNCisgICAgdG1wIHw9IFJU MjU3M19EUk9QX1BIWV9FUlJPUiB8IFJUMjU3M19EUk9QX0NSQ19FUlJPUjsNCisgICAgaWYg KGljLT5pY19vcG1vZGUgIT0gSUVFRTgwMjExX01fTU9OSVRPUikgew0KKyAgICAgICAgdG1w IHw9IFJUMjU3M19EUk9QX0NUTCB8IFJUMjU3M19EUk9QX1ZFUl9FUlJPUiB8DQorICAgICAg ICAgICAgICAgUlQyNTczX0RST1BfQUNLQ1RTOw0KKyAgICAgICAgaWYgKGljLT5pY19vcG1v ZGUgIT0gSUVFRTgwMjExX01fSE9TVEFQKQ0KKyAgICAgICAgICAgIHRtcCB8PSBSVDI1NzNf RFJPUF9UT0RTOw0KKyAgICAgICAgaWYgKCEoaWZwLT5pZl9mbGFncyAmIElGRl9QUk9NSVND KSkNCisgICAgICAgICAgICB0bXAgfD0gUlQyNTczX0RST1BfTk9UX1RPX01FOw0KKyAgICB9 DQorICAgIHJ1bV93cml0ZShzYywgUlQyNTczX1RYUlhfQ1NSMCwgdG1wKTsNCisNCisgICAg aWZwLT5pZl9kcnZfZmxhZ3MgJj0gfklGRl9EUlZfT0FDVElWRTsNCisgICAgaWZwLT5pZl9k cnZfZmxhZ3MgfD0gSUZGX0RSVl9SVU5OSU5HOw0KKw0KKyAgICBpZiAoaWMtPmljX29wbW9k ZSA9PSBJRUVFODAyMTFfTV9NT05JVE9SKQ0KKyAgICAgICAgaWVlZTgwMjExX25ld19zdGF0 ZShpYywgSUVFRTgwMjExX1NfUlVOLCAtMSk7DQorICAgIGVsc2UNCisgICAgICAgIGllZWU4 MDIxMV9uZXdfc3RhdGUoaWMsIElFRUU4MDIxMV9TX1NDQU4sIC0xKTsNCisNCisgICAgcmV0 dXJuOw0KKw0KK2ZhaWw6ICAgIHJ1bV9zdG9wKGlmcCk7DQorICAgIHJldHVybjsNCisjdW5k ZWYgTg0KK30NCisNCitzdGF0aWMgdm9pZA0KK3J1bV9zdG9wKHN0cnVjdCBpZm5ldCAqaWZw KQ0KK3sNCisgICAgc3RydWN0IHJ1bV9zb2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRjOw0KKyAg ICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2NfaWM7DQorICAgIHVpbnQzMl90 IHRtcDsNCisNCisgICAgaWVlZTgwMjExX25ld19zdGF0ZShpYywgSUVFRTgwMjExX1NfSU5J VCwgLTEpOyAgICAvKiBmcmVlIGFsbCBub2RlcyAqLw0KKw0KKyAgICBzYy0+c2NfdHhfdGlt ZXIgPSAwOw0KKyAgICBpZnAtPmlmX3RpbWVyID0gMDsNCisgICAgaWZwLT5pZl9kcnZfZmxh Z3MgJj0gfihJRkZfRFJWX1JVTk5JTkcgfCBJRkZfRFJWX09BQ1RJVkUpOw0KKw0KKyAgICAv KiBkaXNhYmxlIFJ4ICovDQorICAgIHRtcCA9IHJ1bV9yZWFkKHNjLCBSVDI1NzNfVFhSWF9D U1IwKTsNCisgICAgcnVtX3dyaXRlKHNjLCBSVDI1NzNfVFhSWF9DU1IwLCB0bXAgfCBSVDI1 NzNfRElTQUJMRV9SWCk7DQorDQorICAgIC8qIHJlc2V0IEFTSUMgKi8NCisgICAgcnVtX3dy aXRlKHNjLCBSVDI1NzNfTUFDX0NTUjEsIDMpOw0KKyAgICBydW1fd3JpdGUoc2MsIFJUMjU3 M19NQUNfQ1NSMSwgMCk7DQorDQorICAgIGlmIChzYy0+c2NfcnhfcGlwZWggIT0gTlVMTCkg ew0KKyAgICAgICAgdXNiZF9hYm9ydF9waXBlKHNjLT5zY19yeF9waXBlaCk7DQorICAgICAg ICB1c2JkX2Nsb3NlX3BpcGUoc2MtPnNjX3J4X3BpcGVoKTsNCisgICAgICAgIHNjLT5zY19y eF9waXBlaCA9IE5VTEw7DQorICAgIH0NCisNCisgICAgaWYgKHNjLT5zY190eF9waXBlaCAh PSBOVUxMKSB7DQorICAgICAgICB1c2JkX2Fib3J0X3BpcGUoc2MtPnNjX3R4X3BpcGVoKTsN CisgICAgICAgIHVzYmRfY2xvc2VfcGlwZShzYy0+c2NfdHhfcGlwZWgpOw0KKyAgICAgICAg c2MtPnNjX3R4X3BpcGVoID0gTlVMTDsNCisgICAgfQ0KKw0KKyAgICBydW1fZnJlZV9yeF9s aXN0KHNjKTsNCisgICAgcnVtX2ZyZWVfdHhfbGlzdChzYyk7DQorfQ0KKw0KK3N0YXRpYyBp bnQNCitydW1fcHJlcGFyZV9iZWFjb24oc3RydWN0IHJ1bV9zb2Z0YyAqc2MpDQorew0KKyAg ICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2NfaWM7DQorICAgIHN0cnVjdCBy dW1fdHhfZGVzYyBkZXNjOw0KKyAgICBzdHJ1Y3QgbWJ1ZiAqbTA7DQorICAgIGludCByYXRl Ow0KKw0KKyAgICBtMCA9IGllZWU4MDIxMV9iZWFjb25fYWxsb2MoaWMsIGljLT5pY19ic3Ms ICZzYy0+c2NfYm8pOw0KKyAgICBpZiAobTAgPT0gTlVMTCkgew0KKyAgICAgICAgcHJpbnRm KCIlczogY291bGQgbm90IGFsbG9jYXRlIGJlYWNvbiBmcmFtZVxuIiwNCisgICAgICAgICAg ICBkZXZpY2VfZ2V0X25hbWV1bml0KHNjLT5zY19kZXYpKTsNCisgICAgICAgIHJldHVybiBF Tk9CVUZTOw0KKyAgICB9DQorDQorICAgIC8qIHNlbmQgYmVhY29ucyBhdCB0aGUgbG93ZXN0 IGF2YWlsYWJsZSByYXRlICovDQorICAgIHJhdGUgPSBJRUVFODAyMTFfSVNfQ0hBTl81R0ha KGljLT5pY19jdXJjaGFuKSA/IDEyIDogMjsNCisNCisgICAgcnVtX3NldHVwX3R4X2Rlc2Mo c2MsICZkZXNjLCBSVDI1NzNfVFhfVElNRVNUQU1QLCBSVDI1NzNfVFhfSFdTRVEsDQorICAg ICAgICBtMC0+bV9wa3RoZHIubGVuLCByYXRlKTsNCisNCisgICAgLyogY29weSB0aGUgZmly c3QgMjQgYnl0ZXMgb2YgVHggZGVzY3JpcHRvciBpbnRvIE5JQyBtZW1vcnkgKi8NCisgICAg cnVtX3dyaXRlX211bHRpKHNjLCBSVDI1NzNfSFdfQkVBQ09OX0JBU0UwLCAodWludDhfdCAq KSZkZXNjLCAyNCk7DQorDQorICAgIC8qIGNvcHkgYmVhY29uIGhlYWRlciBhbmQgcGF5bG9h ZCBpbnRvIE5JQyBtZW1vcnkgKi8NCisgICAgcnVtX3dyaXRlX211bHRpKHNjLCBSVDI1NzNf SFdfQkVBQ09OX0JBU0UwICsgMjQsIG10b2QobTAsIHVpbnQ4X3QgKiksDQorICAgICAgICBt MC0+bV9wa3RoZHIubGVuKTsNCisNCisgICAgbV9mcmVlbShtMCk7DQorDQorICAgIHJldHVy biAwOw0KK30NCisNCisjZGVmaW5lIFJVTV9BTVJSX01JTl9TVUNDRVNTX1RIUkVTSE9MRCAg MQ0KKyNkZWZpbmUgUlVNX0FNUlJfTUFYX1NVQ0NFU1NfVEhSRVNIT0xEIDEwDQorDQorc3Rh dGljIHZvaWQNCitydW1fYW1ycl9zdGFydChzdHJ1Y3QgcnVtX3NvZnRjICpzYywgc3RydWN0 IGllZWU4MDIxMV9ub2RlICpuaSkNCit7DQorICAgIHN0cnVjdCBpZWVlODAyMTFfYW1yciAq YW1yciA9ICZzYy0+YW1ycjsNCisgICAgc3RydWN0IGllZWU4MDIxMV9hbXJyX25vZGUgKmFt biA9ICZzYy0+YW1uOw0KKyAgICBzdHJ1Y3QgaWVlZTgwMjExY29tICppYyA9ICZzYy0+c2Nf aWM7DQorICAgIGludCBpOw0KKw0KKyAgICAvKiBjbGVhciBzdGF0aXN0aWMgcmVnaXN0ZXJz IChTVEFfQ1NSMCB0byBTVEFfQ1NSNSkgKi8NCisgICAgcnVtX3JlYWRfbXVsdGkoc2MsIFJU MjU3M19TVEFfQ1NSMCwgc2MtPnN0YSwgc2l6ZW9mIHNjLT5zdGEpOw0KKw0KKyAgICBpZWVl ODAyMTFfYW1ycl9pbml0KGFtcnIsIGljLCANCisJCQkJCQlJRUVFODAyMTFfQU1SUl9NSU5f U1VDQ0VTU19USFJFU0hPTEQsIA0KKwkJCQkJCUlFRUU4MDIxMV9BTVJSX01BWF9TVUNDRVNT X1RIUkVTSE9MRCk7DQorICAgIGllZWU4MDIxMV9hbXJyX25vZGVfaW5pdChhbXJyLCBhbW4p Ow0KKw0KKyAgICAvKiBzZXQgcmF0ZSB0byBzb21lIHJlYXNvbmFibGUgaW5pdGlhbCB2YWx1 ZSAqLw0KKyAgICBmb3IgKGkgPSBuaS0+bmlfcmF0ZXMucnNfbnJhdGVzIC0gMTsNCisgICAg ICAgICBpID4gMCAmJiAobmktPm5pX3JhdGVzLnJzX3JhdGVzW2ldICYgSUVFRTgwMjExX1JB VEVfVkFMKSA+IDcyOw0KKyAgICAgICAgIGktLSk7DQorICAgIG5pLT5uaV90eHJhdGUgPSBp Ow0KKw0KKyAgICBjYWxsb3V0X3Jlc2V0KCZzYy0+YW1ycl9jaCwgaHosIHJ1bV9hbXJyX3Rp bWVvdXQsIHNjKTsNCit9DQorDQorc3RhdGljIHZvaWQNCitydW1fYW1ycl90aW1lb3V0KHZv aWQgKmFyZykNCit7DQorICAgIHN0cnVjdCBydW1fc29mdGMgKnNjID0gYXJnOw0KKyAgICB1 c2JfZGV2aWNlX3JlcXVlc3RfdCByZXE7DQorDQorICAgIC8qDQorICAgICAqIEFzeW5jaHJv bm91c2x5IHJlYWQgc3RhdGlzdGljIHJlZ2lzdGVycyAoY2xlYXJlZCBieSByZWFkKS4NCisg ICAgICovDQorICAgIHJlcS5ibVJlcXVlc3RUeXBlID0gVVRfUkVBRF9WRU5ET1JfREVWSUNF Ow0KKyAgICByZXEuYlJlcXVlc3QgPSBSVDI1NzNfUkVBRF9NVUxUSV9NQUM7DQorICAgIFVT RVRXKHJlcS53VmFsdWUsIDApOw0KKyAgICBVU0VUVyhyZXEud0luZGV4LCBSVDI1NzNfU1RB X0NTUjApOw0KKyAgICBVU0VUVyhyZXEud0xlbmd0aCwgc2l6ZW9mIHNjLT5zdGEpOw0KKw0K KyAgICB1c2JkX3NldHVwX2RlZmF1bHRfeGZlcihzYy0+YW1ycl94ZmVyLCBzYy0+c2NfdWRl diwgc2MsDQorICAgICAgICBVU0JEX0RFRkFVTFRfVElNRU9VVCwgJnJlcSwgc2MtPnN0YSwg c2l6ZW9mIHNjLT5zdGEsIDAsDQorICAgICAgICBydW1fYW1ycl91cGRhdGUpOw0KKyAgICAo dm9pZCl1c2JkX3RyYW5zZmVyKHNjLT5hbXJyX3hmZXIpOw0KK30NCisNCitzdGF0aWMgdm9p ZA0KK3J1bV9hbXJyX3VwZGF0ZSh1c2JkX3hmZXJfaGFuZGxlIHhmZXIsIHVzYmRfcHJpdmF0 ZV9oYW5kbGUgcHJpdiwNCisgICAgdXNiZF9zdGF0dXMgc3RhdHVzKQ0KK3sNCisgICAgICAg IHN0cnVjdCBydW1fc29mdGMgKnNjID0gKHN0cnVjdCBydW1fc29mdGMgKilwcml2Ow0KKyAg ICAgICAgc3RydWN0IGllZWU4MDIxMV9hbXJyICphbXJyID0gJnNjLT5hbXJyOw0KKyAgICAg ICAgc3RydWN0IGllZWU4MDIxMV9hbXJyX25vZGUgKmFtbiA9ICZzYy0+YW1uOw0KKyAgICAg ICAgc3RydWN0IGlmbmV0ICppZnAgPSBzYy0+c2NfaWZwOw0KKw0KKyAgICAgICAgaWYgKHN0 YXR1cyAhPSBVU0JEX05PUk1BTF9DT01QTEVUSU9OKSB7DQorICAgICAgICAgICAgICAgIGRl dmljZV9wcmludGYoc2MtPnNjX2RldiwgImNvdWxkIG5vdCByZXRyaWV2ZSBUeCBzdGF0aXN0 aWNzIC0gIg0KKyAgICAgICAgICAgICAgICAgICAgImNhbmNlbGxpbmcgYXV0b21hdGljIHJh dGUgY29udHJvbFxuIik7DQorICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0N CisNCisgICAgICAgIC8qIGNvdW50IFRYIHJldHJ5LWZhaWwgYXMgVHggZXJyb3JzICovDQor ICAgICAgICBpZnAtPmlmX29lcnJvcnMgKz0gbGUzMnRvaChzYy0+c3RhWzVdKSA+PiAxNjsN CisNCisgICAgICAgIGllZWU4MDIxMV9hbXJyX2Nob29zZShhbXJyLCBzYy0+c2NfaWMuaWNf YnNzLCBhbW4pOw0KKw0KKyAgICAgICAgY2FsbG91dF9yZXNldCgmc2MtPmFtcnJfY2gsIGh6 LCBydW1fYW1ycl90aW1lb3V0LCBzYyk7DQorfQ0KKw0KK0RSSVZFUl9NT0RVTEUocnVtLCB1 aHViLCBydW1fZHJpdmVyLCBydW1fZGV2Y2xhc3MsIHVzYmRfZHJpdmVyX2xvYWQsIDApOw0K Kw0KSW5kZXg6IHN5cy9kZXYvdXNiL2lmX3J1bXJlZy5oDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg ZmlsZTogc3lzL2Rldi91c2IvaWZfcnVtcmVnLmgNCmRpZmYgLU4gc3lzL2Rldi91c2IvaWZf cnVtcmVnLmgNCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysr IHN5cy9kZXYvdXNiL2lmX3J1bXJlZy5oCTIyIEFwciAyMDA3IDA4OjAxOjU0IC0wMDAwDQpA QCAtMCwwICsxLDM5MCBAQA0KKy8qCSRPcGVuQlNEOiBpZl9ydW1yZWcuaCx2IDEuMTIgMjAw Ni8wOC8wOSAwODoyMTowOCBkYW1pZW4gRXhwICQJKi8NCisNCisvKi0NCisgKiBDb3B5cmln aHQgKGMpIDIwMDUsIDIwMDYgRGFtaWVuIEJlcmdhbWluaSA8ZGFtaWVuLmJlcmdhbWluaUBm cmVlLmZyPg0KKyAqIENvcHlyaWdodCAoYykgMjAwNiBOaWFsbCBPJ0hpZ2dpbnMgPG5pYWxs b0BvcGVuYnNkLm9yZz4NCisgKg0KKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2Rp ZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQ0KKyAqIHB1cnBvc2Ug d2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0 aGUgYWJvdmUNCisgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90 aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLg0KKyAqDQorICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVT DQorICogV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJ RUQgV0FSUkFOVElFUyBPRg0KKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4g Tk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SDQorICogQU5ZIFNQRUNJ QUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkg REFNQUdFUw0KKyAqIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERB VEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTg0KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwg TkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GDQor ICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJ UyBTT0ZUV0FSRS4NCisgKi8NCisNCisjZGVmaW5lIFJUMjU3M19UWF9ERVNDX1NJWkUJKHNp emVvZiAoc3RydWN0IHJ1bV90eF9kZXNjKSkNCisjZGVmaW5lIFJUMjU3M19SWF9ERVNDX1NJ WkUJKHNpemVvZiAoc3RydWN0IHJ1bV9yeF9kZXNjKSkNCisNCisjZGVmaW5lIFJUMjU3M19D T05GSUdfTk8JMQ0KKyNkZWZpbmUgUlQyNTczX0lGQUNFX0lOREVYCTANCisNCisjZGVmaW5l IFJUMjU3M19NQ1VfQ05UTAkJMHgwMQ0KKyNkZWZpbmUgUlQyNTczX1dSSVRFX01BQwkweDAy DQorI2RlZmluZSBSVDI1NzNfUkVBRF9NQUMJCTB4MDMNCisjZGVmaW5lIFJUMjU3M19XUklU RV9NVUxUSV9NQUMJMHgwNg0KKyNkZWZpbmUgUlQyNTczX1JFQURfTVVMVElfTUFDCTB4MDcN CisjZGVmaW5lIFJUMjU3M19SRUFEX0VFUFJPTQkweDA5DQorI2RlZmluZSBSVDI1NzNfV1JJ VEVfTEVECTB4MGENCisNCisvKg0KKyAqIENvbnRyb2wgYW5kIHN0YXR1cyByZWdpc3RlcnMu DQorICovDQorI2RlZmluZSBSVDI1NzNfQUlGU05fQ1NSCTB4MDQwMA0KKyNkZWZpbmUgUlQy NTczX0NXTUlOX0NTUgkweDA0MDQNCisjZGVmaW5lIFJUMjU3M19DV01BWF9DU1IJMHgwNDA4 DQorI2RlZmluZSBSVDI1NzNfTUNVX0NPREVfQkFTRQkweDA4MDANCisjZGVmaW5lIFJUMjU3 M19IV19CRUFDT05fQkFTRTAJMHgyNDAwDQorI2RlZmluZSBSVDI1NzNfTUFDX0NTUjAJCTB4 MzAwMA0KKyNkZWZpbmUgUlQyNTczX01BQ19DU1IxCQkweDMwMDQNCisjZGVmaW5lIFJUMjU3 M19NQUNfQ1NSMgkJMHgzMDA4DQorI2RlZmluZSBSVDI1NzNfTUFDX0NTUjMJCTB4MzAwYw0K KyNkZWZpbmUgUlQyNTczX01BQ19DU1I0CQkweDMwMTANCisjZGVmaW5lIFJUMjU3M19NQUNf Q1NSNQkJMHgzMDE0DQorI2RlZmluZSBSVDI1NzNfTUFDX0NTUjYJCTB4MzAxOA0KKyNkZWZp bmUgUlQyNTczX01BQ19DU1I3CQkweDMwMWMNCisjZGVmaW5lIFJUMjU3M19NQUNfQ1NSOAkJ MHgzMDIwDQorI2RlZmluZSBSVDI1NzNfTUFDX0NTUjkJCTB4MzAyNA0KKyNkZWZpbmUgUlQy NTczX01BQ19DU1IxMAkweDMwMjgNCisjZGVmaW5lIFJUMjU3M19NQUNfQ1NSMTEJMHgzMDJj DQorI2RlZmluZSBSVDI1NzNfTUFDX0NTUjEyCTB4MzAzMA0KKyNkZWZpbmUgUlQyNTczX01B Q19DU1IxMwkweDMwMzQNCisjZGVmaW5lIFJUMjU3M19NQUNfQ1NSMTQJMHgzMDM4DQorI2Rl ZmluZSBSVDI1NzNfTUFDX0NTUjE1CTB4MzAzYw0KKyNkZWZpbmUgUlQyNTczX1RYUlhfQ1NS MAkweDMwNDANCisjZGVmaW5lIFJUMjU3M19UWFJYX0NTUjEJMHgzMDQ0DQorI2RlZmluZSBS VDI1NzNfVFhSWF9DU1IyCTB4MzA0OA0KKyNkZWZpbmUgUlQyNTczX1RYUlhfQ1NSMwkweDMw NGMNCisjZGVmaW5lIFJUMjU3M19UWFJYX0NTUjQJMHgzMDUwDQorI2RlZmluZSBSVDI1NzNf VFhSWF9DU1I1CTB4MzA1NA0KKyNkZWZpbmUgUlQyNTczX1RYUlhfQ1NSNgkweDMwNTgNCisj ZGVmaW5lIFJUMjU3M19UWFJYX0NTUjcJMHgzMDVjDQorI2RlZmluZSBSVDI1NzNfVFhSWF9D U1I4CTB4MzA2MA0KKyNkZWZpbmUgUlQyNTczX1RYUlhfQ1NSOQkweDMwNjQNCisjZGVmaW5l IFJUMjU3M19UWFJYX0NTUjEwCTB4MzA2OA0KKyNkZWZpbmUgUlQyNTczX1RYUlhfQ1NSMTEJ MHgzMDZjDQorI2RlZmluZSBSVDI1NzNfVFhSWF9DU1IxMgkweDMwNzANCisjZGVmaW5lIFJU MjU3M19UWFJYX0NTUjEzCTB4MzA3NA0KKyNkZWZpbmUgUlQyNTczX1RYUlhfQ1NSMTQJMHgz MDc4DQorI2RlZmluZSBSVDI1NzNfVFhSWF9DU1IxNQkweDMwN2MNCisjZGVmaW5lIFJUMjU3 M19QSFlfQ1NSMAkJMHgzMDgwDQorI2RlZmluZSBSVDI1NzNfUEhZX0NTUjEJCTB4MzA4NA0K KyNkZWZpbmUgUlQyNTczX1BIWV9DU1IyCQkweDMwODgNCisjZGVmaW5lIFJUMjU3M19QSFlf Q1NSMwkJMHgzMDhjDQorI2RlZmluZSBSVDI1NzNfUEhZX0NTUjQJCTB4MzA5MA0KKyNkZWZp bmUgUlQyNTczX1BIWV9DU1I1CQkweDMwOTQNCisjZGVmaW5lIFJUMjU3M19QSFlfQ1NSNgkJ MHgzMDk4DQorI2RlZmluZSBSVDI1NzNfUEhZX0NTUjcJCTB4MzA5Yw0KKyNkZWZpbmUgUlQy NTczX1NFQ19DU1IwCQkweDMwYTANCisjZGVmaW5lIFJUMjU3M19TRUNfQ1NSMQkJMHgzMGE0 DQorI2RlZmluZSBSVDI1NzNfU0VDX0NTUjIJCTB4MzBhOA0KKyNkZWZpbmUgUlQyNTczX1NF Q19DU1IzCQkweDMwYWMNCisjZGVmaW5lIFJUMjU3M19TRUNfQ1NSNAkJMHgzMGIwDQorI2Rl ZmluZSBSVDI1NzNfU0VDX0NTUjUJCTB4MzBiNA0KKyNkZWZpbmUgUlQyNTczX1NUQV9DU1Iw CQkweDMwYzANCisjZGVmaW5lIFJUMjU3M19TVEFfQ1NSMQkJMHgzMGM0DQorI2RlZmluZSBS VDI1NzNfU1RBX0NTUjIJCTB4MzBjOA0KKyNkZWZpbmUgUlQyNTczX1NUQV9DU1IzCQkweDMw Y2MNCisjZGVmaW5lIFJUMjU3M19TVEFfQ1NSNAkJMHgzMGQwDQorI2RlZmluZSBSVDI1NzNf U1RBX0NTUjUJCTB4MzBkNA0KKw0KKw0KKy8qIHBvc3NpYmxlIGZsYWdzIGZvciByZWdpc3Rl ciBSVDI1NzNfTUFDX0NTUjEgKi8NCisjZGVmaW5lIFJUMjU3M19SRVNFVF9BU0lDCSgxIDw8 IDApDQorI2RlZmluZSBSVDI1NzNfUkVTRVRfQkJQCSgxIDw8IDEpDQorI2RlZmluZSBSVDI1 NzNfSE9TVF9SRUFEWQkoMSA8PCAyKQ0KKw0KKy8qIHBvc3NpYmxlIGZsYWdzIGZvciByZWdp c3RlciBNQUNfQ1NSNSAqLw0KKyNkZWZpbmUgUlQyNTczX09ORV9CU1NJRAkzDQorDQorLyog cG9zc2libGUgZmxhZ3MgZm9yIHJlZ2lzdGVyIFRYUlhfQ1NSMCAqLw0KKy8qIFR4IGZpbHRl ciBmbGFncyBhcmUgaW4gdGhlIGxvdyAxNiBiaXRzICovDQorI2RlZmluZSBSVDI1NzNfQVVU T19UWF9TRVEJCSgxIDw8IDE1KQ0KKy8qIFJ4IGZpbHRlciBmbGFncyBhcmUgaW4gdGhlIGhp Z2ggMTYgYml0cyAqLw0KKyNkZWZpbmUgUlQyNTczX0RJU0FCTEVfUlgJCSgxIDw8IDE2KQ0K KyNkZWZpbmUgUlQyNTczX0RST1BfQ1JDX0VSUk9SCQkoMSA8PCAxNykNCisjZGVmaW5lIFJU MjU3M19EUk9QX1BIWV9FUlJPUgkJKDEgPDwgMTgpDQorI2RlZmluZSBSVDI1NzNfRFJPUF9D VEwJCQkoMSA8PCAxOSkNCisjZGVmaW5lIFJUMjU3M19EUk9QX05PVF9UT19NRQkJKDEgPDwg MjApDQorI2RlZmluZSBSVDI1NzNfRFJPUF9UT0RTCQkoMSA8PCAyMSkNCisjZGVmaW5lIFJU MjU3M19EUk9QX1ZFUl9FUlJPUgkJKDEgPDwgMjIpDQorI2RlZmluZSBSVDI1NzNfRFJPUF9N VUxUSUNBU1QJCSgxIDw8IDIzKQ0KKyNkZWZpbmUgUlQyNTczX0RST1BfQlJPQURDQVNUCQko MSA8PCAyNCkNCisjZGVmaW5lIFJUMjU3M19EUk9QX0FDS0NUUwkJKDEgPDwgMjUpDQorDQor LyogcG9zc2libGUgZmxhZ3MgZm9yIHJlZ2lzdGVyIFRYUlhfQ1NSNCAqLw0KKyNkZWZpbmUg UlQyNTczX1NIT1JUX1BSRUFNQkxFCSgxIDw8IDE4KQ0KKyNkZWZpbmUgUlQyNTczX01SUl9F TkFCTEVECSgxIDw8IDE5KQ0KKyNkZWZpbmUgUlQyNTczX01SUl9DQ0tfRkFMTEJBQ0sJKDEg PDwgMjIpDQorDQorLyogcG9zc2libGUgZmxhZ3MgZm9yIHJlZ2lzdGVyIFRYUlhfQ1NSOSAq Lw0KKyNkZWZpbmUgUlQyNTczX1RTRl9USUNLSU5HCSgxIDw8IDE2KQ0KKyNkZWZpbmUgUlQy NTczX1RTRl9NT0RFKHgpCSgoKHgpICYgMHgzKSA8PCAxNykNCisvKiBUQlRUIHN0YW5kcyBm b3IgVGFyZ2V0IEJlYWNvbiBUcmFuc21pc3Npb24gVGltZSAqLw0KKyNkZWZpbmUgUlQyNTcz X0VOQUJMRV9UQlRUCSgxIDw8IDE5KQ0KKyNkZWZpbmUgUlQyNTczX0dFTkVSQVRFX0JFQUNP TgkoMSA8PCAyMCkNCisNCisvKiBwb3NzaWJsZSBmbGFncyBmb3IgcmVnaXN0ZXIgUEhZX0NT UjAgKi8NCisjZGVmaW5lIFJUMjU3M19QQV9QRV8yR0haCSgxIDw8IDE2KQ0KKyNkZWZpbmUg UlQyNTczX1BBX1BFXzVHSFoJKDEgPDwgMTcpDQorDQorLyogcG9zc2libGUgZmxhZ3MgZm9y IHJlZ2lzdGVyIFBIWV9DU1IzICovDQorI2RlZmluZSBSVDI1NzNfQkJQX1JFQUQJKDEgPDwg MTUpDQorI2RlZmluZSBSVDI1NzNfQkJQX0JVU1kJKDEgPDwgMTYpDQorLyogcG9zc2libGUg ZmxhZ3MgZm9yIHJlZ2lzdGVyIFBIWV9DU1I0ICovDQorI2RlZmluZSBSVDI1NzNfUkZfMjBC SVQJKDIwIDw8IDI0KQ0KKyNkZWZpbmUgUlQyNTczX1JGX0JVU1kJKDEgPDwgMzEpDQorDQor LyogTEVEIHZhbHVlcyAqLw0KKyNkZWZpbmUgUlQyNTczX0xFRF9SQURJTwkoMSA8PCA4KQ0K KyNkZWZpbmUgUlQyNTczX0xFRF9HCQkoMSA8PCA5KQ0KKyNkZWZpbmUgUlQyNTczX0xFRF9B CQkoMSA8PCAxMCkNCisjZGVmaW5lIFJUMjU3M19MRURfT04JCTB4MWUxZQ0KKyNkZWZpbmUg UlQyNTczX0xFRF9PRkYJCTB4MA0KKw0KKyNkZWZpbmUgUlQyNTczX01DVV9SVU4JKDEgPDwg MykNCisNCisjZGVmaW5lIFJUMjU3M19TTUFSVF9NT0RFCSgxIDw8IDApDQorDQorI2RlZmlu ZSBSVDI1NzNfQkJQUjk0X0RFRkFVTFQJNg0KKw0KKyNkZWZpbmUgUlQyNTczX0JCUF9XUklU RQkoMSA8PCAxNSkNCisNCisvKiBkdWFsLWJhbmQgUkYgKi8NCisjZGVmaW5lIFJUMjU3M19S Rl81MjI2CTENCisjZGVmaW5lIFJUMjU3M19SRl81MjI1CTMNCisvKiBzaW5nbGUtYmFuZCBS RiAqLw0KKyNkZWZpbmUgUlQyNTczX1JGXzI1MjgJMg0KKyNkZWZpbmUgUlQyNTczX1JGXzI1 MjcJNA0KKw0KKyNkZWZpbmUgUlQyNTczX0JCUF9WRVJTSU9OCTANCisNCitzdHJ1Y3QgcnVt X3R4X2Rlc2Mgew0KKwl1aW50MzJfdAlmbGFnczsNCisjZGVmaW5lIFJUMjU3M19UWF9CVVJT VAkJCSgxIDw8IDApDQorI2RlZmluZSBSVDI1NzNfVFhfVkFMSUQJCQkoMSA8PCAxKQ0KKyNk ZWZpbmUgUlQyNTczX1RYX01PUkVfRlJBRwkJKDEgPDwgMikNCisjZGVmaW5lIFJUMjU3M19U WF9BQ0sJCQkoMSA8PCAzKQ0KKyNkZWZpbmUgUlQyNTczX1RYX1RJTUVTVEFNUAkJKDEgPDwg NCkNCisjZGVmaW5lIFJUMjU3M19UWF9PRkRNCQkJKDEgPDwgNSkNCisjZGVmaW5lIFJUMjU3 M19UWF9JRlNfU0lGUwkJKDEgPDwgNikNCisjZGVmaW5lIFJUMjU3M19UWF9MT05HX1JFVFJZ CQkoMSA8PCA3KQ0KKw0KKwl1aW50MTZfdAl3bWU7DQorI2RlZmluZSBSVDI1NzNfUUlEKHYp CQkodikNCisjZGVmaW5lIFJUMjU3M19BSUZTTih2KQkJKCh2KSA8PCA0KQ0KKyNkZWZpbmUg UlQyNTczX0xPR0NXTUlOKHYpCSgodikgPDwgOCkNCisjZGVmaW5lIFJUMjU3M19MT0dDV01B WCh2KQkoKHYpIDw8IDEyKQ0KKw0KKwl1aW50MTZfdAl4ZmxhZ3M7DQorI2RlZmluZSBSVDI1 NzNfVFhfSFdTRVEJCSgxIDw8IDEyKQ0KKw0KKwl1aW50OF90CQlwbGNwX3NpZ25hbDsNCisJ dWludDhfdAkJcGxjcF9zZXJ2aWNlOw0KKyNkZWZpbmUgUlQyNTczX1BMQ1BfTEVOR0VYVAkw eDgwDQorDQorCXVpbnQ4X3QJCXBsY3BfbGVuZ3RoX2xvOw0KKwl1aW50OF90CQlwbGNwX2xl bmd0aF9oaTsNCisNCisJdWludDMyX3QJaXY7DQorCXVpbnQzMl90CWVpdjsNCisNCisJdWlu dDhfdAkJb2Zmc2V0Ow0KKwl1aW50OF90CQlxaWQ7DQorCXVpbnQ4X3QJCXR4cG93ZXI7DQor I2RlZmluZSBSVDI1NzNfREVGQVVMVF9UWFBPV0VSCTANCisNCisJdWludDhfdAkJcmVzZXJ2 ZWQ7DQorfSBfX3BhY2tlZDsNCisNCitzdHJ1Y3QgcnVtX3J4X2Rlc2Mgew0KKwl1aW50MzJf dAlmbGFnczsNCisjZGVmaW5lIFJUMjU3M19SWF9CVVNZCQkoMSA8PCAwKQ0KKyNkZWZpbmUg UlQyNTczX1JYX0RST1AJCSgxIDw8IDEpDQorI2RlZmluZSBSVDI1NzNfUlhfQ1JDX0VSUk9S CSgxIDw8IDYpDQorI2RlZmluZSBSVDI1NzNfUlhfT0ZETQkJKDEgPDwgNykNCisNCisJdWlu dDhfdAkJcmF0ZTsNCisJdWludDhfdAkJcnNzaTsNCisJdWludDhfdAkJcmVzZXJ2ZWQxOw0K Kwl1aW50OF90CQlvZmZzZXQ7DQorCXVpbnQzMl90CWl2Ow0KKwl1aW50MzJfdAllaXY7DQor CXVpbnQzMl90CXJlc2VydmVkMlsyXTsNCit9IF9fcGFja2VkOw0KKw0KKyNkZWZpbmUgUlQy NTczX1JGMQkwDQorI2RlZmluZSBSVDI1NzNfUkYyCTINCisjZGVmaW5lIFJUMjU3M19SRjMJ MQ0KKyNkZWZpbmUgUlQyNTczX1JGNAkzDQorDQorI2RlZmluZSBSVDI1NzNfRUVQUk9NX01B Q0JCUAkJMHgwMDAwDQorI2RlZmluZSBSVDI1NzNfRUVQUk9NX0FERFJFU1MJCTB4MDAwNA0K KyNkZWZpbmUgUlQyNTczX0VFUFJPTV9BTlRFTk5BCQkweDAwMjANCisjZGVmaW5lIFJUMjU3 M19FRVBST01fQ09ORklHMgkJMHgwMDIyDQorI2RlZmluZSBSVDI1NzNfRUVQUk9NX0JCUF9C QVNFCQkweDAwMjYNCisjZGVmaW5lIFJUMjU3M19FRVBST01fVFhQT1dFUgkJMHgwMDQ2DQor I2RlZmluZSBSVDI1NzNfRUVQUk9NX0ZSRVFfT0ZGU0VUCTB4MDA1ZQ0KKyNkZWZpbmUgUlQy NTczX0VFUFJPTV9SU1NJXzJHSFpfT0ZGU0VUCTB4MDA5YQ0KKyNkZWZpbmUgUlQyNTczX0VF UFJPTV9SU1NJXzVHSFpfT0ZGU0VUCTB4MDA5Yw0KKw0KKy8qDQorICogRGVmYXVsdCB2YWx1 ZXMgZm9yIE1BQyByZWdpc3RlcnM7IHZhbHVlcyB0YWtlbiBmcm9tIHRoZSByZWZlcmVuY2Ug ZHJpdmVyLg0KKyAqLw0KKyNkZWZpbmUgUlQyNTczX0RFRl9NQUMJCQkJXA0KKwl7IFJUMjU3 M19UWFJYX0NTUjAsICAweDAyNWZiMDMyIH0sCVwNCisJeyBSVDI1NzNfVFhSWF9DU1IxLCAg MHg5ZWFhOWVhZiB9LAlcDQorCXsgUlQyNTczX1RYUlhfQ1NSMiwgIDB4OGE4YjhjOGQgfSwJ XA0KKwl7IFJUMjU3M19UWFJYX0NTUjMsICAweDAwODU4Njg3IH0sCVwNCisJeyBSVDI1NzNf VFhSWF9DU1I3LCAgMHgyZTMxMzUzYiB9LAlcDQorCXsgUlQyNTczX1RYUlhfQ1NSOCwgIDB4 MmEyYTJhMmMgfSwJXA0KKwl7IFJUMjU3M19UWFJYX0NTUjE1LCAweDAwMDAwMDBmIH0sCVwN CisJeyBSVDI1NzNfTUFDX0NTUjYsICAgMHgwMDAwMGZmZiB9LAlcDQorCXsgUlQyNTczX01B Q19DU1I4LCAgIDB4MDE2YzAzMGEgfSwJXA0KKwl7IFJUMjU3M19NQUNfQ1NSMTAsICAweDAw MDAwNzE4IH0sCVwNCisJeyBSVDI1NzNfTUFDX0NTUjEyLCAgMHgwMDAwMDAwNCB9LAlcDQor CXsgUlQyNTczX01BQ19DU1IxMywgIDB4MDAwMDdmMDAgfSwJXA0KKwl7IFJUMjU3M19TRUNf Q1NSMCwgICAweDAwMDAwMDAwIH0sCVwNCisJeyBSVDI1NzNfU0VDX0NTUjEsICAgMHgwMDAw MDAwMCB9LAlcDQorCXsgUlQyNTczX1NFQ19DU1I1LCAgIDB4MDAwMDAwMDAgfSwJXA0KKwl7 IFJUMjU3M19QSFlfQ1NSMSwgICAweDAwMDAyM2IwIH0sCVwNCisJeyBSVDI1NzNfUEhZX0NT UjUsICAgMHgwMDA0MGEwNiB9LAlcDQorCXsgUlQyNTczX1BIWV9DU1I2LCAgIDB4MDAwODA2 MDYgfSwJXA0KKwl7IFJUMjU3M19QSFlfQ1NSNywgICAweDAwMDAwNDA4IH0sCVwNCisJeyBS VDI1NzNfQUlGU05fQ1NSLCAgMHgwMDAwMjI3MyB9LAlcDQorCXsgUlQyNTczX0NXTUlOX0NT UiwgIDB4MDAwMDIzNDQgfSwJXA0KKwl7IFJUMjU3M19DV01BWF9DU1IsICAweDAwMDAzNGFh IH0NCisNCisvKg0KKyAqIERlZmF1bHQgdmFsdWVzIGZvciBCQlAgcmVnaXN0ZXJzOyB2YWx1 ZXMgdGFrZW4gZnJvbSB0aGUgcmVmZXJlbmNlIGRyaXZlci4NCisgKi8NCisjZGVmaW5lIFJU MjU3M19ERUZfQkJQCVwNCisJeyAgIDMsIDB4ODAgfSwJXA0KKwl7ICAxNSwgMHgzMCB9LAlc DQorCXsgIDE3LCAweDIwIH0sCVwNCisJeyAgMjEsIDB4YzggfSwJXA0KKwl7ICAyMiwgMHgz OCB9LAlcDQorCXsgIDIzLCAweDA2IH0sCVwNCisJeyAgMjQsIDB4ZmUgfSwJXA0KKwl7ICAy NSwgMHgwYSB9LAlcDQorCXsgIDI2LCAweDBkIH0sCVwNCisJeyAgMzIsIDB4MGIgfSwJXA0K Kwl7ICAzNCwgMHgxMiB9LAlcDQorCXsgIDM3LCAweDA3IH0sCVwNCisJeyAgMzksIDB4Zjgg fSwJXA0KKwl7ICA0MSwgMHg2MCB9LAlcDQorCXsgIDUzLCAweDEwIH0sCVwNCisJeyAgNTQs IDB4MTggfSwJXA0KKwl7ICA2MCwgMHgxMCB9LAlcDQorCXsgIDYxLCAweDA0IH0sCVwNCisJ eyAgNjIsIDB4MDQgfSwJXA0KKwl7ICA3NSwgMHhmZSB9LAlcDQorCXsgIDg2LCAweGZlIH0s CVwNCisJeyAgODgsIDB4ZmUgfSwJXA0KKwl7ICA5MCwgMHgwZiB9LAlcDQorCXsgIDk5LCAw eDAwIH0sCVwNCisJeyAxMDIsIDB4MTYgfSwJXA0KKwl7IDEwNywgMHgwNCB9DQorDQorLyoN CisgKiBEZWZhdWx0IHNldHRpbmdzIGZvciBSRiByZWdpc3RlcnM7IHZhbHVlcyB0YWtlbiBm cm9tIHRoZSByZWZlcmVuY2UgZHJpdmVyLg0KKyAqLw0KKyNkZWZpbmUgUlQyNTczX1JGNTIy NgkJCQkJXA0KKwl7ICAgMSwgMHgwMGIwMywgMHgwMDFlMSwgMHgxYTAxNCwgMHgzMDI4MiB9 LAlcDQorCXsgICAyLCAweDAwYjAzLCAweDAwMWUxLCAweDFhMDE0LCAweDMwMjg3IH0sCVwN CisJeyAgIDMsIDB4MDBiMDMsIDB4MDAxZTIsIDB4MWEwMTQsIDB4MzAyODIgfSwJXA0KKwl7 ICAgNCwgMHgwMGIwMywgMHgwMDFlMiwgMHgxYTAxNCwgMHgzMDI4NyB9LAlcDQorCXsgICA1 LCAweDAwYjAzLCAweDAwMWUzLCAweDFhMDE0LCAweDMwMjgyIH0sCVwNCisJeyAgIDYsIDB4 MDBiMDMsIDB4MDAxZTMsIDB4MWEwMTQsIDB4MzAyODcgfSwJXA0KKwl7ICAgNywgMHgwMGIw MywgMHgwMDFlNCwgMHgxYTAxNCwgMHgzMDI4MiB9LAlcDQorCXsgICA4LCAweDAwYjAzLCAw eDAwMWU0LCAweDFhMDE0LCAweDMwMjg3IH0sCVwNCisJeyAgIDksIDB4MDBiMDMsIDB4MDAx ZTUsIDB4MWEwMTQsIDB4MzAyODIgfSwJXA0KKwl7ICAxMCwgMHgwMGIwMywgMHgwMDFlNSwg MHgxYTAxNCwgMHgzMDI4NyB9LAlcDQorCXsgIDExLCAweDAwYjAzLCAweDAwMWU2LCAweDFh MDE0LCAweDMwMjgyIH0sCVwNCisJeyAgMTIsIDB4MDBiMDMsIDB4MDAxZTYsIDB4MWEwMTQs IDB4MzAyODcgfSwJXA0KKwl7ICAxMywgMHgwMGIwMywgMHgwMDFlNywgMHgxYTAxNCwgMHgz MDI4MiB9LAlcDQorCXsgIDE0LCAweDAwYjAzLCAweDAwMWU4LCAweDFhMDE0LCAweDMwMjg0 IH0sCVwNCisJCQkJCQkJXA0KKwl7ICAzNCwgMHgwMGIwMywgMHgyMDI2NiwgMHgzNjAxNCwg MHgzMDI4MiB9LAlcDQorCXsgIDM4LCAweDAwYjAzLCAweDIwMjY3LCAweDM2MDE0LCAweDMw Mjg0IH0sCVwNCisJeyAgNDIsIDB4MDBiMDMsIDB4MjAyNjgsIDB4MzYwMTQsIDB4MzAyODYg fSwJXA0KKwl7ICA0NiwgMHgwMGIwMywgMHgyMDI2OSwgMHgzNjAxNCwgMHgzMDI4OCB9LAlc DQorCQkJCQkJCVwNCisJeyAgMzYsIDB4MDBiMDMsIDB4MDAyNjYsIDB4MjYwMTQsIDB4MzAy ODggfSwJXA0KKwl7ICA0MCwgMHgwMGIwMywgMHgwMDI2OCwgMHgyNjAxNCwgMHgzMDI4MCB9 LAlcDQorCXsgIDQ0LCAweDAwYjAzLCAweDAwMjY5LCAweDI2MDE0LCAweDMwMjgyIH0sCVwN CisJeyAgNDgsIDB4MDBiMDMsIDB4MDAyNmEsIDB4MjYwMTQsIDB4MzAyODQgfSwJXA0KKwl7 ICA1MiwgMHgwMGIwMywgMHgwMDI2YiwgMHgyNjAxNCwgMHgzMDI4NiB9LAlcDQorCXsgIDU2 LCAweDAwYjAzLCAweDAwMjZjLCAweDI2MDE0LCAweDMwMjg4IH0sCVwNCisJeyAgNjAsIDB4 MDBiMDMsIDB4MDAyNmUsIDB4MjYwMTQsIDB4MzAyODAgfSwJXA0KKwl7ICA2NCwgMHgwMGIw MywgMHgwMDI2ZiwgMHgyNjAxNCwgMHgzMDI4MiB9LAlcDQorCQkJCQkJCVwNCisJeyAxMDAs IDB4MDBiMDMsIDB4MDAyOGEsIDB4MmUwMTQsIDB4MzAyODAgfSwJXA0KKwl7IDEwNCwgMHgw MGIwMywgMHgwMDI4YiwgMHgyZTAxNCwgMHgzMDI4MiB9LAlcDQorCXsgMTA4LCAweDAwYjAz LCAweDAwMjhjLCAweDJlMDE0LCAweDMwMjg0IH0sCVwNCisJeyAxMTIsIDB4MDBiMDMsIDB4 MDAyOGQsIDB4MmUwMTQsIDB4MzAyODYgfSwJXA0KKwl7IDExNiwgMHgwMGIwMywgMHgwMDI4 ZSwgMHgyZTAxNCwgMHgzMDI4OCB9LAlcDQorCXsgMTIwLCAweDAwYjAzLCAweDAwMmEwLCAw eDJlMDE0LCAweDMwMjgwIH0sCVwNCisJeyAxMjQsIDB4MDBiMDMsIDB4MDAyYTEsIDB4MmUw MTQsIDB4MzAyODIgfSwJXA0KKwl7IDEyOCwgMHgwMGIwMywgMHgwMDJhMiwgMHgyZTAxNCwg MHgzMDI4NCB9LAlcDQorCXsgMTMyLCAweDAwYjAzLCAweDAwMmEzLCAweDJlMDE0LCAweDMw Mjg2IH0sCVwNCisJeyAxMzYsIDB4MDBiMDMsIDB4MDAyYTQsIDB4MmUwMTQsIDB4MzAyODgg fSwJXA0KKwl7IDE0MCwgMHgwMGIwMywgMHgwMDJhNiwgMHgyZTAxNCwgMHgzMDI4MCB9LAlc DQorCQkJCQkJCVwNCisJeyAxNDksIDB4MDBiMDMsIDB4MDAyYTgsIDB4MmUwMTQsIDB4MzAy ODcgfSwJXA0KKwl7IDE1MywgMHgwMGIwMywgMHgwMDJhOSwgMHgyZTAxNCwgMHgzMDI4OSB9 LAlcDQorCXsgMTU3LCAweDAwYjAzLCAweDAwMmFiLCAweDJlMDE0LCAweDMwMjgxIH0sCVwN CisJeyAxNjEsIDB4MDBiMDMsIDB4MDAyYWMsIDB4MmUwMTQsIDB4MzAyODMgfSwJXA0KKwl7 IDE2NSwgMHgwMGIwMywgMHgwMDJhZCwgMHgyZTAxNCwgMHgzMDI4NSB9DQorDQorI2RlZmlu ZSBSVDI1NzNfUkY1MjI1CQkJCQlcDQorCXsgICAxLCAweDAwYjMzLCAweDAxMWUxLCAweDFh MDE0LCAweDMwMjgyIH0sCVwNCisJeyAgIDIsIDB4MDBiMzMsIDB4MDExZTEsIDB4MWEwMTQs IDB4MzAyODcgfSwJXA0KKwl7ICAgMywgMHgwMGIzMywgMHgwMTFlMiwgMHgxYTAxNCwgMHgz MDI4MiB9LAlcDQorCXsgICA0LCAweDAwYjMzLCAweDAxMWUyLCAweDFhMDE0LCAweDMwMjg3 IH0sCVwNCisJeyAgIDUsIDB4MDBiMzMsIDB4MDExZTMsIDB4MWEwMTQsIDB4MzAyODIgfSwJ XA0KKwl7ICAgNiwgMHgwMGIzMywgMHgwMTFlMywgMHgxYTAxNCwgMHgzMDI4NyB9LAlcDQor CXsgICA3LCAweDAwYjMzLCAweDAxMWU0LCAweDFhMDE0LCAweDMwMjgyIH0sCVwNCisJeyAg IDgsIDB4MDBiMzMsIDB4MDExZTQsIDB4MWEwMTQsIDB4MzAyODcgfSwJXA0KKwl7ICAgOSwg MHgwMGIzMywgMHgwMTFlNSwgMHgxYTAxNCwgMHgzMDI4MiB9LAlcDQorCXsgIDEwLCAweDAw YjMzLCAweDAxMWU1LCAweDFhMDE0LCAweDMwMjg3IH0sCVwNCisJeyAgMTEsIDB4MDBiMzMs IDB4MDExZTYsIDB4MWEwMTQsIDB4MzAyODIgfSwJXA0KKwl7ICAxMiwgMHgwMGIzMywgMHgw MTFlNiwgMHgxYTAxNCwgMHgzMDI4NyB9LAlcDQorCXsgIDEzLCAweDAwYjMzLCAweDAxMWU3 LCAweDFhMDE0LCAweDMwMjgyIH0sCVwNCisJeyAgMTQsIDB4MDBiMzMsIDB4MDExZTgsIDB4 MWEwMTQsIDB4MzAyODQgfSwJXA0KKwkJCQkJCQlcDQorCXsgIDM0LCAweDAwYjMzLCAweDAx MjY2LCAweDI2MDE0LCAweDMwMjgyIH0sCVwNCisJeyAgMzgsIDB4MDBiMzMsIDB4MDEyNjcs IDB4MjYwMTQsIDB4MzAyODQgfSwJXA0KKwl7ICA0MiwgMHgwMGIzMywgMHgwMTI2OCwgMHgy NjAxNCwgMHgzMDI4NiB9LAlcDQorCXsgIDQ2LCAweDAwYjMzLCAweDAxMjY5LCAweDI2MDE0 LCAweDMwMjg4IH0sCVwNCisJCQkJCQkJXA0KKwl7ICAzNiwgMHgwMGIzMywgMHgwMTI2Niwg MHgyNjAxNCwgMHgzMDI4OCB9LAlcDQorCXsgIDQwLCAweDAwYjMzLCAweDAxMjY4LCAweDI2 MDE0LCAweDMwMjgwIH0sCVwNCisJeyAgNDQsIDB4MDBiMzMsIDB4MDEyNjksIDB4MjYwMTQs IDB4MzAyODIgfSwJXA0KKwl7ICA0OCwgMHgwMGIzMywgMHgwMTI2YSwgMHgyNjAxNCwgMHgz MDI4NCB9LAlcDQorCXsgIDUyLCAweDAwYjMzLCAweDAxMjZiLCAweDI2MDE0LCAweDMwMjg2 IH0sCVwNCisJeyAgNTYsIDB4MDBiMzMsIDB4MDEyNmMsIDB4MjYwMTQsIDB4MzAyODggfSwJ XA0KKwl7ICA2MCwgMHgwMGIzMywgMHgwMTI2ZSwgMHgyNjAxNCwgMHgzMDI4MCB9LAlcDQor CXsgIDY0LCAweDAwYjMzLCAweDAxMjZmLCAweDI2MDE0LCAweDMwMjgyIH0sCVwNCisJCQkJ CQkJXA0KKwl7IDEwMCwgMHgwMGIzMywgMHgwMTI4YSwgMHgyZTAxNCwgMHgzMDI4MCB9LAlc DQorCXsgMTA0LCAweDAwYjMzLCAweDAxMjhiLCAweDJlMDE0LCAweDMwMjgyIH0sCVwNCisJ eyAxMDgsIDB4MDBiMzMsIDB4MDEyOGMsIDB4MmUwMTQsIDB4MzAyODQgfSwJXA0KKwl7IDEx MiwgMHgwMGIzMywgMHgwMTI4ZCwgMHgyZTAxNCwgMHgzMDI4NiB9LAlcDQorCXsgMTE2LCAw eDAwYjMzLCAweDAxMjhlLCAweDJlMDE0LCAweDMwMjg4IH0sCVwNCisJeyAxMjAsIDB4MDBi MzMsIDB4MDEyYTAsIDB4MmUwMTQsIDB4MzAyODAgfSwJXA0KKwl7IDEyNCwgMHgwMGIzMywg MHgwMTJhMSwgMHgyZTAxNCwgMHgzMDI4MiB9LAlcDQorCXsgMTI4LCAweDAwYjMzLCAweDAx MmEyLCAweDJlMDE0LCAweDMwMjg0IH0sCVwNCisJeyAxMzIsIDB4MDBiMzMsIDB4MDEyYTMs IDB4MmUwMTQsIDB4MzAyODYgfSwJXA0KKwl7IDEzNiwgMHgwMGIzMywgMHgwMTJhNCwgMHgy ZTAxNCwgMHgzMDI4OCB9LAlcDQorCXsgMTQwLCAweDAwYjMzLCAweDAxMmE2LCAweDJlMDE0 LCAweDMwMjgwIH0sCVwNCisJCQkJCQkJXA0KKwl7IDE0OSwgMHgwMGIzMywgMHgwMTJhOCwg MHgyZTAxNCwgMHgzMDI4NyB9LAlcDQorCXsgMTUzLCAweDAwYjMzLCAweDAxMmE5LCAweDJl MDE0LCAweDMwMjg5IH0sCVwNCisJeyAxNTcsIDB4MDBiMzMsIDB4MDEyYWIsIDB4MmUwMTQs IDB4MzAyODEgfSwJXA0KKwl7IDE2MSwgMHgwMGIzMywgMHgwMTJhYywgMHgyZTAxNCwgMHgz MDI4MyB9LAlcDQorCXsgMTY1LCAweDAwYjMzLCAweDAxMmFkLCAweDJlMDE0LCAweDMwMjg1 IH0NCkluZGV4OiBzeXMvZGV2L3VzYi9pZl9ydW12YXIuaA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IHN5cy9kZXYvdXNiL2lmX3J1bXZhci5oDQpkaWZmIC1OIHN5cy9kZXYvdXNiL2lm X3J1bXZhci5oDQotLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDANCisr KyBzeXMvZGV2L3VzYi9pZl9ydW12YXIuaAkyMiBBcHIgMjAwNyAwODowMTo1NCAtMDAwMA0K QEAgLTAsMCArMSwxNjMgQEANCisvKgkkT3BlbkJTRDogaWZfcnVtdmFyLmgsdiAxLjYgMjAw Ni8wOC8xOCAxNToxMToxMiBkYW1pZW4gRXhwICQJKi8NCisNCisvKi0NCisgKiBDb3B5cmln aHQgKGMpIDIwMDUsIDIwMDYgRGFtaWVuIEJlcmdhbWluaSA8ZGFtaWVuLmJlcmdhbWluaUBm cmVlLmZyPg0KKyAqIENvcHlyaWdodCAoYykgMjAwNiBOaWFsbCBPJ0hpZ2dpbnMgPG5pYWxs b0BvcGVuYnNkLm9yZz4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDcgVmFsZXJ5IFYu Q2hpa2Fsb3YgPHZhbGVyYUBjaGlrYWxvdi5kcC51YT4NCisgKg0KKyAqIFBlcm1pc3Npb24g dG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9y IGFueQ0KKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRl ZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUNCisgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0 aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLg0KKyAqDQorICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xB SU1TIEFMTCBXQVJSQU5USUVTDQorICogV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJ TkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRg0KKyAqIE1FUkNIQU5UQUJJTElU WSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUg Rk9SDQorICogQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJ QUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUw0KKyAqIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZS T00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTg0KKyAqIEFD VElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04s IEFSSVNJTkcgT1VUIE9GDQorICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1Ig UEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCisgKi8NCisNCisjZGVmaW5lIFJUMjU3 M19SWF9MSVNUX0NPVU5UCTENCisjZGVmaW5lIFJUMjU3M19UWF9MSVNUX0NPVU5UCTENCisN CitzdHJ1Y3QgcnVtX3J4X3JhZGlvdGFwX2hlYWRlciB7DQorCXN0cnVjdCBpZWVlODAyMTFf cmFkaW90YXBfaGVhZGVyIHdyX2loZHI7DQorCXVpbnQ4X3QJCXdyX2ZsYWdzOw0KKwl1aW50 OF90CQl3cl9yYXRlOw0KKwl1aW50MTZfdAl3cl9jaGFuX2ZyZXE7DQorCXVpbnQxNl90CXdy X2NoYW5fZmxhZ3M7DQorCXVpbnQ4X3QJCXdyX2FudGVubmE7DQorCXVpbnQ4X3QJCXdyX2Fu dHNpZ25hbDsNCit9IF9fcGFja2VkOw0KKw0KKyNkZWZpbmUgUlQyNTczX1JYX1JBRElPVEFQ X1BSRVNFTlQJCQkJCVwNCisJKCgxIDw8IElFRUU4MDIxMV9SQURJT1RBUF9GTEFHUykgfAkJ CQlcDQorCSAoMSA8PCBJRUVFODAyMTFfUkFESU9UQVBfUkFURSkgfAkJCQlcDQorCSAoMSA8 PCBJRUVFODAyMTFfUkFESU9UQVBfQ0hBTk5FTCkgfAkJCQlcDQorCSAoMSA8PCBJRUVFODAy MTFfUkFESU9UQVBfQU5URU5OQSkgfAkJCQlcDQorCSAoMSA8PCBJRUVFODAyMTFfUkFESU9U QVBfREJfQU5UU0lHTkFMKSkNCisNCitzdHJ1Y3QgcnVtX3R4X3JhZGlvdGFwX2hlYWRlciB7 DQorCXN0cnVjdCBpZWVlODAyMTFfcmFkaW90YXBfaGVhZGVyIHd0X2loZHI7DQorCXVpbnQ4 X3QJCXd0X2ZsYWdzOw0KKwl1aW50OF90CQl3dF9yYXRlOw0KKwl1aW50MTZfdAl3dF9jaGFu X2ZyZXE7DQorCXVpbnQxNl90CXd0X2NoYW5fZmxhZ3M7DQorCXVpbnQ4X3QJCXd0X2FudGVu bmE7DQorfSBfX3BhY2tlZDsNCisNCisjZGVmaW5lIFJUMjU3M19UWF9SQURJT1RBUF9QUkVT RU5UCQkJCQkJXA0KKwkoKDEgPDwgSUVFRTgwMjExX1JBRElPVEFQX0ZMQUdTKSB8CQkJCVwN CisJICgxIDw8IElFRUU4MDIxMV9SQURJT1RBUF9SQVRFKSB8CQkJCVwNCisJICgxIDw8IElF RUU4MDIxMV9SQURJT1RBUF9DSEFOTkVMKSB8CQkJCVwNCisJICgxIDw8IElFRUU4MDIxMV9S QURJT1RBUF9BTlRFTk5BKSkNCisNCitzdHJ1Y3QgcnVtX3NvZnRjOw0KKw0KK3N0cnVjdCBy dW1fdHhfZGF0YSB7DQorCXN0cnVjdCBydW1fc29mdGMJKnNjOw0KKwl1c2JkX3hmZXJfaGFu ZGxlCXhmZXI7DQorCXVpbnQ4X3QJCQkqYnVmOw0KKwlzdHJ1Y3QgbWJ1ZgkJKm07DQorCXN0 cnVjdCBpZWVlODAyMTFfbm9kZQkqbmk7DQorfTsNCisNCitzdHJ1Y3QgcnVtX3J4X2RhdGEg ew0KKwlzdHJ1Y3QgcnVtX3NvZnRjCSpzYzsNCisJdXNiZF94ZmVyX2hhbmRsZQl4ZmVyOw0K Kwl1aW50OF90CQkJKmJ1ZjsNCisJc3RydWN0IG1idWYJCSptOw0KK307DQorDQorc3RydWN0 IHJ1bV9zb2Z0YyB7DQorCWRldmljZV90CQkJICAgIHNjX2RldjsNCisJc3RydWN0IGlmbmV0 ICAgICAgICAgICAqc2NfaWZwOw0KKwlzdHJ1Y3QgaWVlZTgwMjExY29tCQlzY19pYzsNCisJ aW50CQkJCSgqc2NfbmV3c3RhdGUpKHN0cnVjdCBpZWVlODAyMTFjb20gKiwNCisJCQkJCSAg ICBlbnVtIGllZWU4MDIxMV9zdGF0ZSwgaW50KTsNCisNCisJdXNiZF9kZXZpY2VfaGFuZGxl CQlzY191ZGV2Ow0KKwl1c2JkX2ludGVyZmFjZV9oYW5kbGUJCXNjX2lmYWNlOw0KKwlpbnQJ CQkJc2NfZmxhZ3M7DQorI2RlZmluZQlSVDI1NzNfRldMT0FERUQJKDEgPDwgMCkNCisNCisJ c3RydWN0IGllZWU4MDIxMV9jaGFubmVsCSpzY19jdXJjaGFuOw0KKw0KKwlpbnQJCQkJc2Nf cnhfbm87DQorCWludAkJCQlzY190eF9ubzsNCisNCisJdWludDE2X3QJCQltYWNiYnBfcmV2 Ow0KKwl1aW50OF90CQkJCXJmX3JldjsNCisJdWludDhfdAkJCQlyZmZyZXE7DQorDQorCXVz YmRfeGZlcl9oYW5kbGUJCWFtcnJfeGZlcjsNCisNCisJdXNiZF9waXBlX2hhbmRsZQkJc2Nf cnhfcGlwZWg7DQorCXVzYmRfcGlwZV9oYW5kbGUJCXNjX3R4X3BpcGVoOw0KKw0KKwllbnVt IGllZWU4MDIxMV9zdGF0ZQkJc2Nfc3RhdGU7DQorCXN0cnVjdCB1c2JfdGFzawkJCXNjX3Rh c2s7DQorDQorCXN0cnVjdCBpZWVlODAyMTFfYW1yciAgICAgICAgCWFtcnI7DQorCXN0cnVj dCBpZWVlODAyMTFfYW1ycl9ub2RlICAgICAJYW1uOw0KKw0KKwlzdHJ1Y3QgcnVtX3J4X2Rh dGEJCXJ4X2RhdGFbUlQyNTczX1JYX0xJU1RfQ09VTlRdOw0KKwlzdHJ1Y3QgcnVtX3R4X2Rh dGEJCXR4X2RhdGFbUlQyNTczX1RYX0xJU1RfQ09VTlRdOw0KKwlpbnQJCQkJdHhfcXVldWVk Ow0KKw0KKwlzdHJ1Y3QgaWVlZTgwMjExX2JlYWNvbl9vZmZzZXRzCXNjX2JvOw0KKw0KKwlz dHJ1Y3QJbXR4CQkJc2NfbXR4Ow0KKw0KKwlzdHJ1Y3QgY2FsbG91dAkJCXNjYW5fY2g7DQor CXN0cnVjdCBjYWxsb3V0CQkJYW1ycl9jaDsNCisNCisJaW50CQkJCXNjX3R4X3RpbWVyOw0K Kw0KKwl1aW50MzJfdAkJCXN0YVs2XTsNCisJdWludDMyX3QJCQlyZl9yZWdzWzRdOw0KKwl1 aW50OF90CQkJCXR4cG93WzQ0XTsNCisNCisJc3RydWN0IHsNCisJCXVpbnQ4X3QJdmFsOw0K KwkJdWludDhfdAlyZWc7DQorCX0gX19wYWNrZWQJCQliYnBfcHJvbVsxNl07DQorDQorCWlu dAkJCQlod19yYWRpbzsNCisJaW50CQkJCXJ4X2FudDsNCisJaW50CQkJCXR4X2FudDsNCisJ aW50CQkJCW5iX2FudDsNCisJaW50CQkJCWV4dF8yZ2h6X2xuYTsNCisJaW50CQkJCWV4dF81 Z2h6X2xuYTsNCisJaW50CQkJCXJzc2lfMmdoel9jb3JyOw0KKwlpbnQJCQkJcnNzaV81Z2h6 X2NvcnI7DQorCWludAkJCQlzaWZzOw0KKwl1aW50OF90CQkJCWJicDE3Ow0KKw0KKwlzdHJ1 Y3QgYnBmX2lmICAgICAgKnNjX2RydmJwZjsNCisNCisJdW5pb24gew0KKwkJc3RydWN0IHJ1 bV9yeF9yYWRpb3RhcF9oZWFkZXIgdGg7DQorCQl1aW50OF90CXBhZFs2NF07DQorCX0JCQkJ c2Nfcnh0YXB1Ow0KKyNkZWZpbmUgc2Nfcnh0YXAJc2Nfcnh0YXB1LnRoDQorCWludAkJCQlz Y19yeHRhcF9sZW47DQorDQorCXVuaW9uIHsNCisJCXN0cnVjdCBydW1fdHhfcmFkaW90YXBf aGVhZGVyIHRoOw0KKwkJdWludDhfdAlwYWRbNjRdOw0KKwl9CQkJCXNjX3R4dGFwdTsNCisj ZGVmaW5lIHNjX3R4dGFwCXNjX3R4dGFwdS50aA0KKwlpbnQJCQkJc2NfdHh0YXBfbGVuOw0K K307DQorDQorI2lmIDANCisjZGVmaW5lIFJVTV9MT0NLKHNjKSAgICBtdHhfbG9jaygmKHNj KS0+c2NfbXR4KQ0KKyNkZWZpbmUgUlVNX1VOTE9DSyhzYykgIG10eF91bmxvY2soJihzYykt PnNjX210eCkNCisjZWxzZQ0KKyNkZWZpbmUgUlVNX0xPQ0soc2MpICAgIGRvIHsgKChzYykg PSAoc2MpKTsgbXR4X2xvY2soJkdpYW50KTsgfSB3aGlsZSAoMCkNCisjZGVmaW5lIFJVTV9V TkxPQ0soc2MpICBtdHhfdW5sb2NrKCZHaWFudCkNCisjZW5kaWYNCisNCisNCkluZGV4OiBz eXMvZGV2L3VzYi91c2JkZXZzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2 cy9zcmMvc3lzL2Rldi91c2IvdXNiZGV2cyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjkx DQpkaWZmIC11IC1yMS4yOTEgdXNiZGV2cw0KLS0tIHN5cy9kZXYvdXNiL3VzYmRldnMJMTMg QXByIDIwMDcgMTg6MTU6MDcgLTAwMDAJMS4yOTENCisrKyBzeXMvZGV2L3VzYi91c2JkZXZz CTIyIEFwciAyMDA3IDA4OjAxOjU1IC0wMDAwDQpAQCAtMzU1LDYgKzM1NSw3IEBADQogdmVu ZG9yIERJR0lUQUxTVFJFQU0JMHgwNzRlCURpZ2l0YWwgU3RyZWFtDQogdmVuZG9yIEFVUkVB TAkJMHgwNzU1CUF1cmVhbA0KIHZlbmRvciBNSURJTUFOCQkweDA3NjMJTWlkaW1hbg0KK3Zl bmRvciBTVVJFQ09NCQkweDA3NjkJU3VyZWNvbSBUZWNobm9sb2d5DQogdmVuZG9yIExJTktT WVMyCQkweDA3N2IJTGlua3N5cw0KIHZlbmRvciBHUklGRklOCQkweDA3N2QJR3JpZmZpbg0K IHZlbmRvciBTQU5ESVNLCQkweDA3ODEJU2FuRGlzaw0KQEAgLTM4NCw2ICszODUsNyBAQA0K IHZlbmRvciBBVkVSTUVESUEJMHgwN2NhCUFWZXJNZWRpYQ0KIHZlbmRvciBTSUlHCQkweDA3 Y2MJU0lJRw0KIHZlbmRvciBDQVNJTwkJMHgwN2NmCUNBU0lPDQordmVuZG9yIERMSU5LMgkJ MHgwN2QxCUQtTGluaw0KIHZlbmRvciBBUFRJTwkJMHgwN2QyCUFwdGlvDQogdmVuZG9yIEFS QVNBTgkJMHgwN2RhCUFyYXNhbg0KIHZlbmRvciBBTExJRURDQUJMRQkweDA3ZTYJQWxsaWVk IENhYmxlDQpAQCAtNDg3LDYgKzQ4OSw3IEBADQogdmVuZG9yIEFDREMJCTB4MGQ3ZQlBQ0RD DQogdmVuZG9yIEFCQwkJMHgwZDhjCUFCQw0KIHZlbmRvciBDT05DRVBUUk9OSUMJMHgwZDhl CUNvbmNlcHRyb25pYw0KK3ZlbmRvciBTSVRFQ09NRVUgICAgMHgwZGY2ICBTaXRlY29tIEV1 cm9wZQ0KIHZlbmRvciBNU0kJCTB4MGRiMAlNaWNybyBTdGFyIEludGVybmF0aW9uYWwNCiB2 ZW5kb3IgSEFXS0lORwkJMHgwZTY2CUhhd2tpbmcNCiB2ZW5kb3IgR01BVEUJCTB4MGU3ZQlH Lk1hdGUsIEluYw0KQEAgLTUxNywxMCArNTIwLDEyIEBADQogdmVuZG9yIEhVQVdFSQkJMHgx MmQxCUh1YXdlaSBUZWNobm9sb2dpZXMNCiB2ZW5kb3IgQUlOQ09NTQkJMHgxMmZkCUFpbmNv bW0NCiB2ZW5kb3IgTU9CSUxJVFkJCTB4MTM0MglNb2JpbGl0eQ0KK3ZlbmRvciBESUNLU01J VEgJMHgxMzcxCURpY2sgU21pdGggRWxlY3Ryb25pY3MNCiB2ZW5kb3IgTElOS1NZUzQJCTB4 MTNiMQlMaW5rc3lzDQogdmVuZG9yIFNIQVJLCQkweDEzZDIJU2hhcmsNCiB2ZW5kb3IgTk9W QVRFTAkJMHgxNDEwCU5vdmF0ZWwgV2lyZWxlc3MNCiB2ZW5kb3IgUkFESU9TSEFDSwkweDE0 NTMJUmFkaW8gU2hhY2sNCit2ZW5kb3IgSFVBV0VJM0NPTQkweDE0NzIJSHVhd2VpIDNDb20N CiB2ZW5kb3IgU0lMSUNPTQkJMHgxNDg1CVNpbGljb20NCiB2ZW5kb3IgUkFMSU5LCQkweDE0 OGYJUmFsaW5rIFRlY2hub2xvZ3kNCiB2ZW5kb3IgSU1BR0lOQVRJT04JMHgxNDlhCUltYWdp bmF0aW9uIFRlY2hub2xvZ2llcw0KQEAgLTUzMSwxNCArNTM2LDE3IEBADQogdmVuZG9yIFNP SE9XQVJFCQkweDE1ZTgJU09IT3dhcmUNCiB2ZW5kb3IgVU1BWAkJMHgxNjA2CVVNQVgNCiB2 ZW5kb3IgSU5TSURFT1VUCTB4MTYwOAlJbnNpZGUgT3V0IE5ldHdvcmtzDQordmVuZG9yIEdP T0RXQVkgICAgICAweDE2MzEgIEdvb2QgV2F5IFRlY2hub2xvZ3kNCiB2ZW5kb3IgRU5UUkVH QQkJMHgxNjQ1CUVudHJlZ2ENCiB2ZW5kb3IgQUNUSU9OVEVDCTB4MTY2OAlBY3Rpb250ZWMN CiB2ZW5kb3IgQVRIRVJPUwkJMHgxNjhjCUF0aGVyb3MgQ29tbXVuaWNhdGlvbnMNCiB2ZW5k b3IgR0lHQVNFVAkJMHgxNjkwCUdpZ2FzZXQNCiB2ZW5kb3IgR0xPQkFMU1VOCTB4MTZhYglH bG9iYWwgU3VuIFRlY2hub2xvZ3kNCiB2ZW5kb3IgQ01PVEVDSAkJMHgxNmQ4CUNNT1RFQ0gg Q08uLCBMVEQuDQordmVuZG9yIFFDT00gICAgICAgICAweDE4ZTggIFFjb20NCiB2ZW5kb3Ig TElOS1NZUzMJCTB4MTkxNQlMaW5rc3lzDQogdmVuZG9yIERMSU5LCQkweDIwMDEJRC1MaW5r DQordmVuZG9yIFBMQU5FWDIgICAgICAweDIwMTkgIFBsYW5leCBDb21tdW5pY2F0aW9ucw0K IHZlbmRvciBFUklDU1NPTgkJMHgyMjgyCUVyaWNzc29uDQogdmVuZG9yIE1PVE9ST0xBMgkw eDIyYjgJTW90b3JvbGENCiB2ZW5kb3IgVFJJUFBMSVRFCTB4MjQ3OAlUcmlwcC1MaXRlDQpA QCAtNTU5LDcgKzU2Nyw3IEBADQogdmVuZG9yIE9OU1BFQzIJCTB4NTVhYQlPblNwZWMNCiB2 ZW5kb3IgWklOV0VMTAkJMHg1YTU3CVppbndlbGwNCiB2ZW5kb3IgU0lURUNPTQkJMHg2MTg5 CVNpdGVjb20NCi12ZW5kb3IgQVJLTUlDUk8JCTB4NjU0NwlBcmttaWNybyBUZWNobm9sb2dp ZXMNCit2ZW5kb3IgQVJLTUlDUk8gICAgIDB4NjU0NyAgQXJrbWljcm8gVGVjaG5vbG9naWVz DQogdmVuZG9yIElOVEVMCQkweDgwODYJSW50ZWwNCiB2ZW5kb3IgSFAyCQkweGYwMDMJSGV3 bGV0dCBQYWNrYXJkDQogDQpAQCAtNTk0LDYgKzYwMiw3IEBADQogcHJvZHVjdCBBQk9DT00g WFg4CQkweDQxMDIJWFg4DQogcHJvZHVjdCBBQk9DT00gWFg5CQkweDQxMDQJWFg5DQogcHJv ZHVjdCBBQk9DT00gWFgxMAkJMHhhYmMxCVhYMTANCitwcm9kdWN0IEFCT0NPTSBSVDI1NzMJ MHhiMjFkCVJUMjU3Mw0KIA0KIC8qIEFjY3RvbiBwcm9kdWN0cyAqLw0KIHByb2R1Y3QgQUND VE9OIFVTQjMyMF9FQwkweDEwNDYJVVNCMzIwLUVDIEV0aGVybmV0DQpAQCAtNjkyLDcgKzcw MSw3IEBADQogcHJvZHVjdCBBUFBMRSBJUE9ETkFOTwkJMHgxMjBhCWlQb2QgTmFubw0KIA0K IC8qIEFya21pY3JvIFRlY2hub2xvZ2llcyAqLw0KLXByb2R1Y3QgQVJLTUlDUk8gQVJLMzEx NgkweDAyMzIJQVJLMzExNiBTZXJpYWwNCitwcm9kdWN0IEFSS01JQ1JPIEFSSzMxMTYgICAg ICAweDAyMzIgIEFSSzMxMTYgU2VyaWFsDQogDQogLyogQXNhaGkgT3B0aWNhbCBwcm9kdWN0 cyAqLw0KIHByb2R1Y3QgQVNBSElPUFRJQ0FMIE9QVElPMjMwCTB4MDAwNAlEaWdpdGFsIGNh bWVyYQ0KQEAgLTcwMyw2ICs3MTIsNyBAQA0KIA0KIC8qIEFTVVMgcHJvZHVjdHMgKi8NCiBw cm9kdWN0IEFTVVMgV0wxNjdHCQkweDE3MDcJV0wtMTY3ZyB3aXJlbGVzcyBhZGFwdGVyDQor cHJvZHVjdCBBU1VTIFJUMjU3MwkJMHgxNzIzCVJUMjU3Mw0KIA0KIC8qIEFUZW4gcHJvZHVj dHMgKi8NCiBwcm9kdWN0IEFURU4gVUMxMjg0CQkweDIwMDEJUGFyYWxsZWwgcHJpbnRlcg0K QEAgLTc0MCw5ICs3NTAsMTIgQEANCiBwcm9kdWN0IEJFTEtJTiBGNVUxMDkJCTB4MDEwOQlG NVUxMDkgU2VyaWFsDQogcHJvZHVjdCBCRUxLSU4gRjVVMjA4CQkweDAyMDgJRjVVMjA4IFZp ZGVvQnVzIElJDQogcHJvZHVjdCBCRUxLSU4gRjVVNDA5CQkweDA0MDkJRjVVNDA5IFNlcmlh bA0KLXByb2R1Y3QgQkVMS0lOIEY2QzU1MEFWUgkweDA1NTEJRjZDNTUwLUFWUiBVUFMNCitw cm9kdWN0IEJFTEtJTiBGNkM1NTBBVlIgICAgMHgwNTUxICBGNkM1NTAtQVZSIFVQUw0KIHBy b2R1Y3QgQkVMS0lOIEY1VTEyMAkJMHgxMjAzCUY1VTEyMC1QQyBIdWINCiBwcm9kdWN0IEJF TEtJTiBGNUQ3MDUwCQkweDcwNTAJRjVENzA1MCB3aXJlbGVzcyBhZGFwdGVyDQorcHJvZHVj dCBCRUxLSU4gRjVENzA1MEEJCTB4NzA1YQlGNUQ3MDVBIDU0ZyBVU0IgTmV0d29yayBBZGFw dGVyDQorcHJvZHVjdCBCRUxLSU4gRjVEOTA1MFYzCTB4OTA1YglGNUQ5MDUwIHZlciAzDQor DQogDQogLyogQmlsbGlvbnRvbiBwcm9kdWN0cyAqLw0KIHByb2R1Y3QgQklMTElPTlRPTiBV U0IxMDAJMHgwOTg2CVVTQjEwME4gMTAvMTAwIEZhc3RFdGhlcm5ldA0KQEAgLTg0NSw3ICs4 NTgsNyBAQA0KIC8qIEN5cHJlc3MgU2VtaWNvbmR1Y3RvciBwcm9kdWN0cyAqLw0KIHByb2R1 Y3QgQ1lQUkVTUyBNT1VTRQkJMHgwMDAxCW1vdXNlDQogcHJvZHVjdCBDWVBSRVNTIFRIRVJN TwkJMHgwMDAyCXRoZXJtb21ldGVyDQotcHJvZHVjdCBDWVBSRVNTIFdJU1BZCQkweDBiYWQJ TWV0YUdlZWsgV2ktU3B5DQorcHJvZHVjdCBDWVBSRVNTIFdJU1BZICAgICAgICAgMHgwYmFk ICBNZXRhR2VlayBXaS1TcHkNCiBwcm9kdWN0IENZUFJFU1MgRk1SQURJTwkJMHgxMDAyCUZN IFJhZGlvDQogcHJvZHVjdCBDWVBSRVNTIFNMSU1fSFVCCTB4NjU2MAlTbGltIEh1Yg0KIA0K QEAgLTg2Niw2ICs4NzksMTAgQEANCiAvKiBEaWFtb25kIHByb2R1Y3RzICovDQogcHJvZHVj dCBESUFNT05EIFJJTzUwMFVTQgkweDAwMDEJUmlvIDUwMCBVU0INCiANCisvKiBEaWNrIFNt aXRoIEVsZWN0cm9uaWNzIChyZWFsbHkgQy1OZXQpIHByb2R1Y3RzICovDQorcHJvZHVjdCBE SUNLU01JVEggUlQyNTczCTB4OTAyMglSVDI1NzMNCitwcm9kdWN0IERJQ0tTTUlUSCBDV0Q4 NTRGCTB4OTAzMglDLU5ldCBDV0QtODU0IHJldiBGDQorDQogLyogRGlnaSBJbnRlcm5hdGlv bmFsIHByb2R1Y3RzICovDQogcHJvZHVjdCBESUdJIEFDQ0VMRVBPUlQyCTB4MDAwMglBY2Nl bGVQb3J0IFVTQiAyDQogcHJvZHVjdCBESUdJIEFDQ0VMRVBPUlQ0CTB4MDAwNAlBY2NlbGVQ b3J0IFVTQiA0DQpAQCAtODkxLDYgKzkwOCw4IEBADQogcHJvZHVjdCBETElOSyBEU0I2NTBU WDMJCTB4NDAwYgkxMC8xMDAgZXRoZXJuZXQNCiBwcm9kdWN0IERMSU5LIERTQjY1MFRYMgkJ MHg0MTAyCTEwLzEwMCBldGhlcm5ldA0KIHByb2R1Y3QgRExJTksgRFNCNjUwCQkweGFiYzEJ MTAvMTAwIGV0aGVybmV0DQorcHJvZHVjdCBETElOSzIgRFdMRzEyMkMxCTB4M2MwMwlEV0wt RzEyMiByZXYgQzENCitwcm9kdWN0IERMSU5LMiBXVUExMzQwCQkweDNjMDQJV1VBLTEzNDAN CiANCiAvKiBFSVpPIHByb2R1Y3RzICovDQogcHJvZHVjdCBFSVpPIEhVQgkJMHgwMDAwCWh1 Yg0KQEAgLTk0OCwxMSArOTY3LDExIEBADQogcHJvZHVjdCBFUFNPTiAxNjcwCQkweDAxMWYJ UGVyZmVjdGlvbiAxNjcwIHNjYW5uZXINCiBwcm9kdWN0IEVQU09OIDEyNzAJCTB4MDEyMAlQ ZXJmZWN0aW9uIDEyNzAgc2Nhbm5lcg0KIHByb2R1Y3QgRVBTT04gMjQ4MAkJMHgwMTIxICBQ ZXJmZWN0aW9uIDI0ODAgc2Nhbm5lcg0KLXByb2R1Y3QgRVBTT04gMzU5MAkJMHgwMTIyCVBl cmZlY3Rpb24gMzU5MCBzY2FubmVyDQotcHJvZHVjdCBFUFNPTiA0OTkwCQkweDAxMmEJUGVy ZmVjdGlvbiA0OTkwIFBob3RvIHNjYW5uZXINCitwcm9kdWN0IEVQU09OIDM1OTAgICAgICAg ICAgICAweDAxMjIgIFBlcmZlY3Rpb24gMzU5MCBzY2FubmVyDQorcHJvZHVjdCBFUFNPTiA0 OTkwICAgICAgICAgICAgMHgwMTJhICBQZXJmZWN0aW9uIDQ5OTAgUGhvdG8gc2Nhbm5lcg0K IHByb2R1Y3QgRVBTT04gMzUwMAkJMHgwODBlCUNYLTM1MDAvMzYwMC8zNjUwIE1GUA0KIHBy b2R1Y3QgRVBTT04gUlg0MjUJCTB4MDgwZglTdHlsdXMgUGhvdG8gUlg0MjUgc2Nhbm5lcg0K LXByb2R1Y3QgRVBTT04gNDIwMAkJMHgwODIwICBDWDQyMDAgTVAgc2Nhbm5lcg0KK3Byb2R1 Y3QgRVBTT04gNDIwMCAgICAgICAgICAgIDB4MDgyMCAgQ1g0MjAwIE1QIHNjYW5uZXINCiAN CiAvKiBlLVRFSyBMYWJzIHByb2R1Y3RzICovDQogcHJvZHVjdCBFVEVLIDFDT00JCTB4ODAw NwlTZXJpYWwNCkBAIC0xMDAwLDYgKzEwMTksNyBAQA0KIHByb2R1Y3QgR0lHQUJZVEUgR05C UjQwMlcJMHg4MDAyCUdOLUJSNDAyVw0KIHByb2R1Y3QgR0lHQUJZVEUgR05XTEJNMTAxCTB4 ODAwMwlHTi1XTEJNMTAxDQogcHJvZHVjdCBHSUdBQllURSBHTldCS0cJCTB4ODAwNwlHTi1X QktHDQorcHJvZHVjdCBHSUdBQllURSBHTldCMDFHUyAgIDB4ODAwOCAgR04tV0IwMUdTDQog DQogLyogR2lnYXNldCBwcm9kdWN0cyAqLw0KIHByb2R1Y3QgR0lHQVNFVCBXTEFOCQkweDA3 MDEJV0xBTg0KQEAgLTEwOTMsNiArMTExMywxMiBAQA0KIC8qIEhVQVdFSSBwcm9kdWN0cyAq Lw0KIHByb2R1Y3QgSFVBV0VJIE1PQklMRQkJMHgxMDAxCUh1YXdlaSBNb2JpbGUNCiANCisv KiBIVUFXRUkgcHJvZHVjdHMgKi8NCitwcm9kdWN0IEhVQVdFSTNDT00gUlQyNTczCTB4MDAw OQlSVDI1NzMNCisNCisvKiBHb29kIFdheSBUZWNobm9sb2d5IHByb2R1Y3RzICovDQorcHJv ZHVjdCBHT09EV0FZIFJUMjU3MyAgICAgIDB4YzAxOSAgUlQyNTczDQorDQogLyogSUJNIENv cnBvcmF0aW9uICovDQogcHJvZHVjdCBJQk0gVVNCQ0RST01EUklWRQkweDQ0MjcJVVNCIENE LVJPTSBEcml2ZQ0KIA0KQEAgLTEyMzYsNiArMTI2Miw3IEBADQogcHJvZHVjdCBMSU5LU1lT NCBXVVNCNTRHCTB4MDAwZAlXVVNCNTRHIHdpcmVsZXNzIGFkYXB0ZXINCiBwcm9kdWN0IExJ TktTWVM0IFdVU0I1NEdQCTB4MDAxMQlXVVNCNTRHUCB3aXJlbGVzcyBhZGFwdGVyDQogcHJv ZHVjdCBMSU5LU1lTNCBIVTIwMFRTCTB4MDAxYQlIVTIwMFRTIHdpcmVsZXNzIGFkYXB0ZXIN Citwcm9kdWN0IExJTktTWVM0IFdVU0I1NEdDCTB4MDAyMAlXVVNCNTRHQw0KIA0KIC8qIExv Z2l0ZWNoIHByb2R1Y3RzICovDQogcHJvZHVjdCBMT0dJVEVDSCBNMjQ1MgkJMHgwMjAzCU0y NDUyIGtleWJvYXJkDQpAQCAtMTI1MSwxMSArMTI3OCwxMSBAQA0KIHByb2R1Y3QgTE9HSVRF Q0ggV01NT1VTRQkweGMwMDQJV2luZ01hbiBHYW1pbmcgTW91c2UNCiBwcm9kdWN0IExPR0lU RUNIIEJENTgJCTB4YzAwYwlCRDU4IG1vdXNlDQogcHJvZHVjdCBMT0dJVEVDSCBVTjU4QQkJ MHhjMDMwCWlGZWVsIE1vdXNlDQotcHJvZHVjdCBMT0dJVEVDSCBVTjUzQgkJMHhjMDMyCWlG ZWVsIE1vdXNlTWFuDQorcHJvZHVjdCBMT0dJVEVDSCBVTjUzQiAgICAgIDB4YzAzMiAgaUZl ZWwgTW91c2VNYW4NCiBwcm9kdWN0IExPR0lURUNIIFdNUEFECQkweGMyMDgJV2luZ01hbiBH YW1lUGFkIEV4dHJlbWUNCiBwcm9kdWN0IExPR0lURUNIIFdNUlBBRAkJMHhjMjBhCVdpbmdN YW4gUnVtYmxlUGFkDQogcHJvZHVjdCBMT0dJVEVDSCBXTUpPWQkJMHhjMjgxCVdpbmdNYW4g Rm9yY2Ugam95c3RpY2sNCi1wcm9kdWN0IExPR0lURUNIIEJCMTMJCTB4YzQwMQlVU0ItUFMv MiBUcmFja2JhbGwNCitwcm9kdWN0IExPR0lURUNIIEJCMTMgICAgICAgMHhjNDAxICBVU0It UFMvMiBUcmFja2JhbGwNCiBwcm9kdWN0IExPR0lURUNIIFJLNTMJCTB4YzUwMQlDb3JkbGVz cyBtb3VzZQ0KIHByb2R1Y3QgTE9HSVRFQ0ggUkI2CQkweGM1MDMJQ29yZGxlc3Mga2V5Ym9h cmQNCiBwcm9kdWN0IExPR0lURUNIIE1YNzAwCQkweGM1MDYJQ29yZGxlc3Mgb3B0aWNhbCBt b3VzZQ0KQEAgLTEzMTEsNiArMTMzOCw5IEBADQogcHJvZHVjdCBNU0kgUlQyNTcwCQkweDY4 NjEJUlQyNTcwDQogcHJvZHVjdCBNU0kgUlQyNTcwXzIJCTB4Njg2NQlSVDI1NzANCiBwcm9k dWN0IE1TSSBSVDI1NzBfMwkJMHg2ODY5CVJUMjU3MA0KK3Byb2R1Y3QgTVNJIFJUMjU3MwkJ MHg2ODc3CVJUMjU3Mw0KK3Byb2R1Y3QgTVNJIFJUMjU3M18yCQkweGE4NjEJUlQyNTczDQor cHJvZHVjdCBNU0kgUlQyNTczXzMJCTB4YTg3NAlSVDI1NzMNCiANCiAvKiBNaWNyb3NvZnQg cHJvZHVjdHMgKi8NCiBwcm9kdWN0IE1JQ1JPU09GVCBTSURFUFJFQwkweDAwMDgJU2lkZVdp bmRlciBQcmVjaXNpb24gUHJvDQpAQCAtMTM5Nyw3ICsxNDI3LDcgQEANCiANCiAvKiBOZXRn ZWFyIHByb2R1Y3RzICovDQogcHJvZHVjdCBORVRHRUFSIEVBMTAxCQkweDEwMDEJRXRoZXJu ZXQNCi1wcm9kdWN0IE5FVEdFQVIgRkExMDEJCTB4MTAyMAlFdGhlcm5ldCAxMC8xMDAsIFVT QjEuMQ0KK3Byb2R1Y3QgTkVUR0VBUiBGQTEwMSAgICAgICAgIDB4MTAyMCAgRXRoZXJuZXQg MTAvMTAwLCBVU0IxLjENCiBwcm9kdWN0IE5FVEdFQVIgRkExMjAJCTB4MTA0MAlVU0IgMi4w IEV0aGVybmV0DQogcHJvZHVjdCBORVRHRUFSMyBXRzExMVQJCTB4NDI1MAlXRzExMVQNCiBw cm9kdWN0IE5FVEdFQVIzIFdHMTExVF9ORgkweDQyNTEJV0cxMTFUIChubyBmaXJtd2FyZSkN CkBAIC0xNDExLDcgKzE0NDEsNyBAQA0KIHByb2R1Y3QgTklLT04gTFM0MAkJMHg0MDAwCUNv b2xTY2FuIExTNDAgRUQNCiANCiAvKiBOb3ZhVGVjaCBQcm9kdWN0cyAqLw0KLXByb2R1Y3Qg Tk9WQVRFQ0ggTlY5MDIJCTB4OTAyMCAgTm92YVRlY2ggTlYtOTAyVw0KK3Byb2R1Y3QgTk9W QVRFQ0ggTlY5MDIgICAgICAgICAgICAgICAgMHg5MDIwICBOb3ZhVGVjaCBOVi05MDJXDQog DQogLyogTm92YXRlbCBXaXJlbGVzcyBwcm9kdWN0cyAqLw0KIHByb2R1Y3QgTk9WQVRFTCBV NzQwCQkweDE0MDAJTWVybGluIFU3NDANCkBAIC0xNDQxLDcgKzE0NzEsNyBAQA0KIHByb2R1 Y3QgUEFMTSBaSVJFCQkweDAwNzAJUGFsbSBaaXJlDQogDQogLyogUGFuYXNvbmljIHByb2R1 Y3RzICovDQotcHJvZHVjdCBQQU5BU09OSUMgS1hMODQwQU4JMHgwZDAxCUNELVIgRHJpdmUg S1hMLTg0MEFODQorcHJvZHVjdCBQQU5BU09OSUMgS1hMODQwQU4gICAgMHgwZDAxICBDRC1S IERyaXZlIEtYTC04NDBBTg0KIHByb2R1Y3QgUEFOQVNPTklDIEtYTFJXMzJBTgkweDBkMDkJ Q0QtUiBEcml2ZSBLWEwtUlczMkFODQogcHJvZHVjdCBQQU5BU09OSUMgS1hMQ0IyMEFOCTB4 MGQwYQlDRC1SIERyaXZlIEtYTC1DQjIwQU4NCiBwcm9kdWN0IFBBTkFTT05JQyBLWExDQjM1 QU4JMHgwZDBlCURWRC1ST00gJiBDRC1SL1JXDQpAQCAtMTQ2OSw2ICsxNDk5LDEwIEBADQog LyogUC5JLiBFbmdpbmVlcmluZyBwcm9kdWN0cyAqLw0KIHByb2R1Y3QgUElFTkdJTkVFUklO RyBQUzJVU0IJMHgwMjBiCVBTMiB0byBNYWMgVVNCIEFkYXB0ZXINCiANCisvKiBQbGFuZXgg Q29tbXVuaWNhdGlvbnMgcHJvZHVjdHMgKi8NCitwcm9kdWN0IFBMQU5FWDIgR1dVU01NCQkw eGVkMDIJR1ctVVNNTQ0KKw0KKw0KIC8qIFBsZXh0b3IgQ29ycC4gKi8NCiBwcm9kdWN0IFBM RVhUT1IgNDBfMTJfNDBVCTB4MDAxMQlQbGV4V3JpdGVyIDQwLzEyLzQwVQ0KIA0KQEAgLTE1 MTEsNiArMTU0NSwxMCBAQA0KIC8qIFB1dGVyY29tIHByb2R1Y3RzICovDQogcHJvZHVjdCBQ VVRFUkNPTSBVUEExMDAJCTB4MDQ3ZQlVU0ItMTI4NCBCUklER0UNCiANCisvKiBRY29tIHBy b2R1Y3RzICovDQorcHJvZHVjdCBRQ09NIFJUMjU3MwkJMHg2MTk2CVJUMjU3Mw0KK3Byb2R1 Y3QgUUNPTSBSVDI1NzNfMgkJMHg2MjI5CVJUMjU3Mw0KKw0KIC8qIFF1YWxjb21tIHByb2R1 Y3RzICovDQogcHJvZHVjdCBRVUFMQ09NTSBSV1RfRkNUCTB4MzEwMAlSV1QgRkNULUNETUEg MjAwMCAxeFJUVCBtb2RlbQ0KIHByb2R1Y3QgUVVBTENPTU0gQ0RNQV9NU00JMHgzMTk2CUNE TUEgVGVjaG5vbG9naWVzIE1TTSBtb2RlbQ0KQEAgLTE1MzEsNiArMTU2OSw4IEBADQogLyog UmFsaW5rIFRlY2hub2xvZ3kgcHJvZHVjdHMgKi8NCiBwcm9kdWN0IFJBTElOSyBSVDI1NzAJ CTB4MTcwNglSVDI1MDBVU0Igd2lyZWxlc3MgYWRhcHRlcg0KIHByb2R1Y3QgUkFMSU5LIFJU MjU3MF8yCQkweDI1NzAJUlQyNTAwVVNCIHdpcmVsZXNzIGFkYXB0ZXINCitwcm9kdWN0IFJB TElOSyBSVDI1NzMJCTB4MjU3MwlSVDI1NzMNCitwcm9kdWN0IFJBTElOSyBSVDI2NzEJCTB4 MjY3MQlSVDI2NzENCiANCiAvKiBSZWFrVGVrIHByb2R1Y3RzICovDQogcHJvZHVjdCBSRUFM VEVLIFVTQktSMTAwCTB4ODE1MAlVU0JLUjEwMCBVU0IgRXRoZXJuZXQgKEdSRUVOIEhPVVNF KQ0KQEAgLTE2MDYsNyArMTY0Niw3IEBADQogcHJvZHVjdCBTSUlHMiBVUzIzMDgJCTB4MDQy MQlTZXJpYWwNCiANCiAvKiBTaWxpY29tIHByb2R1Y3RzICovDQotcHJvZHVjdCBTSUxJQ09N IEdQRQkJMHgwMDAyCVBzaW9uIEdvbGQgUG9ydCBFdGhlcm5ldA0KK3Byb2R1Y3QgU0lMSUNP TSBHUEUgICAgICAgICAgIDB4MDAwMiAgUHNpb24gR29sZCBQb3J0IEV0aGVybmV0DQogDQog LyogU2lsaWNvbiBQb3J0YWxzIEluYy4gKi8NCiBwcm9kdWN0IFNJTElDT05QT1JUQUxTIFlB UFBIX05GCTB4MDIwMAlZQVAgUGhvbmUgKG5vIGZpcm13YXJlKQ0KQEAgLTE2MTksNiArMTY1 OSwxMSBAQA0KIHByb2R1Y3QgU0lURUNPTSBMTjAyOQkJMHgxODJkCVVTQiAyLjAgRXRoZXJu ZXQNCiBwcm9kdWN0IFNJVEVDT00gU0VSSUFMCQkweDIwNjgJVVNCIHRvIHNlcmlhbCBjYWJs ZSAodjIpDQogDQorLyogU2l0ZWNvbSBFdXJvcGUgcHJvZHVjdHMgKi8NCitwcm9kdWN0IFNJ VEVDT01FVSBXTDE3MgkJMHg5MGFjCVdMLTE3Mg0KK3Byb2R1Y3QgU0lURUNPTUVVIFdMMTEz UjIJMHg5NzEyCVdMLTExMyByZXYgMg0KKw0KKw0KIC8qIFNtYXJ0QnJpZGdlcyBwcm9kdWN0 cyAqLw0KIHByb2R1Y3QgU01BUlRCUklER0VTIFNNQVJUTElOSwkweDAwMDEJU21hcnRMaW5r IFVTQiBldGhlcm5ldA0KIHByb2R1Y3QgU01BUlRCUklER0VTIFNNQVJUTklDCTB4MDAwMwlz bWFydE5JQyAyIFBuUCBldGhlcm5ldA0KQEAgLTE2ODQsNiArMTcyOSw5IEBADQogcHJvZHVj dCBESUFNT05EMiBSSU82MDBVU0IJMHg1MDAxCVJpbyA2MDAgVVNCDQogcHJvZHVjdCBESUFN T05EMiBSSU84MDBVU0IJMHg1MDAyCVJpbyA4MDAgVVNCDQogDQorLyogU3VyZWNvbSBUZWNo bm9sb2d5IHByb2R1Y3RzICovDQorcHJvZHVjdCBTVVJFQ09NIFJUMjU3MwkJMHgzMWYzCVJU MjU3Mw0KKw0KIC8qIFN5c3RlbSBUQUxLUywgSW5jLiAqLw0KIHByb2R1Y3QgU1lTVEVNVEFM S1MgU0dDWDJVTAkweDE5MjAJU0dDLVgyVUwNCiANCkluZGV4OiBzeXMvbW9kdWxlcy9ydDI1 NzMvTWFrZWZpbGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiBzeXMvbW9kdWxlcy9ydDI1 NzMvTWFrZWZpbGUNCmRpZmYgLU4gc3lzL21vZHVsZXMvcnQyNTczL01ha2VmaWxlDQotLS0g L2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDANCisrKyBzeXMvbW9kdWxlcy9y dDI1NzMvTWFrZWZpbGUJMjIgQXByIDIwMDcgMDg6MDI6MDUgLTAwMDANCkBAIC0wLDAgKzEs MyBAQA0KK0tNT0Q9IHJ0MjU3Mw0KK0ZJUk1XUz0gcnVtLXJ0MjU3MzpydDI1NzM6MTAwDQor LmluY2x1ZGUgPGJzZC5rbW9kLm1rPg0KSW5kZXg6IHN5cy9tb2R1bGVzL3J1bS9NYWtlZmls ZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IHN5cy9tb2R1bGVzL3J1bS9NYWtlZmlsZQ0K ZGlmZiAtTiBzeXMvbW9kdWxlcy9ydW0vTWFrZWZpbGUNCi0tLSAvZGV2L251bGwJMSBKYW4g MTk3MCAwMDowMDowMCAtMDAwMA0KKysrIHN5cy9tb2R1bGVzL3J1bS9NYWtlZmlsZQkyMiBB cHIgMjAwNyAwODowMjowNSAtMDAwMA0KQEAgLTAsMCArMSwxMCBAQA0KKyMgJEZyZWVCU0Q6 IHNyYy9zeXMvbW9kdWxlcy91cmFsL01ha2VmaWxlLHYgMS4xIDIwMDUvMDQvMTggMTg6NDc6 MzggZGFtaWVuIEV4cCAkDQorDQorLlBBVEg6ICR7LkNVUkRJUn0vLi4vLi4vZGV2L3VzYg0K Ky5QQVRIOiAkey5DVVJESVJ9Ly4uLy4uL25ldDgwMjExDQorDQorS01PRCAgICA9IGlmX3J1 bQ0KK1NSQ1MgICAgPSBpZl9ydW0uYyBvcHRfYmRnLmggb3B0X3VzYi5oIGRldmljZV9pZi5o IGJ1c19pZi5oIHVzYmRldnMuaA0KK1NSQ1MgICArPSBpZWVlODAyMTFfYW1yci5jDQorDQor LmluY2x1ZGUgPGJzZC5rbW9kLm1rPg0K --------------030900090303000507070905-- From owner-freebsd-usb@FreeBSD.ORG Sat Apr 28 14:16:23 2007 Return-Path: X-Original-To: freebsd-usb@FreeBSD.org Delivered-To: freebsd-usb@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C300416A400 for ; Sat, 28 Apr 2007 14:16:23 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from ns.kevlo.org (kevlo.org [220.128.136.52]) by mx1.freebsd.org (Postfix) with ESMTP id D1A2513C43E for ; Sat, 28 Apr 2007 14:16:17 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from [127.0.0.1] (kevlo.org [220.128.136.52]) by ns.kevlo.org (8.13.8/8.13.8) with ESMTP id l3SDhMdn008061; Sat, 28 Apr 2007 21:43:24 +0800 (CST) (envelope-from kevlo@FreeBSD.org) From: Kevin Lo To: "Valery V.Chikalov" In-Reply-To: <200704272330.l3RNU94X078095@freefall.freebsd.org> References: <200704272330.l3RNU94X078095@freefall.freebsd.org> Content-Type: text/plain Date: Sat, 28 Apr 2007 21:41:42 +0800 Message-Id: <1177767702.5804.7.camel@monet> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit Cc: freebsd-usb@FreeBSD.org Subject: Re: usb/107642: [patch]Ralink Technology RT2501USB/RT2601USB chipset driver X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Apr 2007 14:16:23 -0000 Valery V.Chikalov wrote: > The following reply was made to PR usb/107642; it has been noted by GNATS. > > From: "Valery V.Chikalov" > To: bug-followup@FreeBSD.org, valera@chikalov.dp.ua > Cc: > Subject: Re: usb/107642: [patch]Ralink Technology RT2501USB/RT2601USB chipset > driver > Date: Sun, 22 Apr 2007 11:32:18 +0300 > > This is a multi-part message in MIME format. > --------------030900090303000507070905 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 7bit > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > if_rum(4) for 7.0-CURRENT > > replaced amrr_* functions by "standard" ones already existed in > net80211/ieee80211_amrr.c > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.5 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFGKx14760S3kDvEC4RAn8PAKCn990QJE0wZRKcwdxAZ61MY0JRgACeI2W5 > ZosSlh6pIqi7JdZ5Wi1BUYc= > =LvWZ > -----END PGP SIGNATURE----- Hi Valery, I guess you wasn't aware that I've already ported rum(4) to FreeBSD. The patch is available at: http://people.freebsd.org/~kevlo/patch-rum Maybe you can test my patch? Thanks. Kevin From owner-freebsd-usb@FreeBSD.ORG Sat Apr 28 16:20:48 2007 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4748C16A401; Sat, 28 Apr 2007 16:20:48 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe12.swip.net [212.247.155.97]) by mx1.freebsd.org (Postfix) with ESMTP id A947D13C448; Sat, 28 Apr 2007 16:20:47 +0000 (UTC) (envelope-from hselasky@freebsd.org) X-Cloudmark-Score: 0.000000 [] Received: from [193.71.38.142] (account mc467741@c2i.net HELO [10.42.11.147]) by mailfe12.swip.net (CommuniGate Pro SMTP 5.1.7) with ESMTPA id 305443884; Sat, 28 Apr 2007 17:20:42 +0200 From: Hans Petter Selasky To: freebsd-usb@freebsd.org Date: Sat, 28 Apr 2007 17:20:24 +0200 User-Agent: KMail/1.9.5 References: <200704272330.l3RNU94X078095@freefall.freebsd.org> <1177767702.5804.7.camel@monet> In-Reply-To: <1177767702.5804.7.camel@monet> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200704281720.25026.hselasky@freebsd.org> Cc: Kevin Lo Subject: Re: usb/107642: [patch]Ralink Technology RT2501USB/RT2601USB chipset driver X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Apr 2007 16:20:48 -0000 On Saturday 28 April 2007 15:41, Kevin Lo wrote: > Valery V.Chikalov wrote: > > The following reply was made to PR usb/107642; it has been noted by > > GNATS. > > > > From: "Valery V.Chikalov" > > To: bug-followup@FreeBSD.org, valera@chikalov.dp.ua > > Cc: > > Subject: Re: usb/107642: [patch]Ralink Technology RT2501USB/RT2601USB > > chipset driver > > Date: Sun, 22 Apr 2007 11:32:18 +0300 > > > > This is a multi-part message in MIME format. > > --------------030900090303000507070905 > > Content-Type: text/plain; charset=UTF-8 > > Content-Transfer-Encoding: 7bit > > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > if_rum(4) for 7.0-CURRENT > > > > replaced amrr_* functions by "standard" ones already existed in > > net80211/ieee80211_amrr.c > > > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.4.5 (MingW32) > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > > > iD8DBQFGKx14760S3kDvEC4RAn8PAKCn990QJE0wZRKcwdxAZ61MY0JRgACeI2W5 > > ZosSlh6pIqi7JdZ5Wi1BUYc= > > =LvWZ > > -----END PGP SIGNATURE----- > > Hi Valery, > > I guess you wasn't aware that I've already ported rum(4) to FreeBSD. > The patch is available at: http://people.freebsd.org/~kevlo/patch-rum > Maybe you can test my patch? Thanks. > > Kevin This driver supports the RT73 chipset, right? I will import this into the new USB stack. Maybe you can test that at the same time. I will post an e-mail when I am finished with the import. --HPS From owner-freebsd-usb@FreeBSD.ORG Sat Apr 28 20:32:05 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9457716A406; Sat, 28 Apr 2007 20:32:05 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 67EBE13C459; Sat, 28 Apr 2007 20:32:05 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from freefall.freebsd.org (maxim@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3SKW57M056153; Sat, 28 Apr 2007 20:32:05 GMT (envelope-from maxim@freefall.freebsd.org) Received: (from maxim@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3SKW484056138; Sat, 28 Apr 2007 20:32:04 GMT (envelope-from maxim) Date: Sat, 28 Apr 2007 20:32:04 GMT From: Maxim Konovalov Message-Id: <200704282032.l3SKW484056138@freefall.freebsd.org> To: R.Mahmatkhanov@SKYLINK.ru, maxim@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/109838: [PATCH] Support for various CDMA-2000 USB-modems X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Apr 2007 20:32:05 -0000 Synopsis: [PATCH] Support for various CDMA-2000 USB-modems State-Changed-From-To: patched->closed State-Changed-By: maxim State-Changed-When: Sat Apr 28 20:31:42 UTC 2007 State-Changed-Why: Merged to RELENG_6. http://www.freebsd.org/cgi/query-pr.cgi?pr=109838 From owner-freebsd-usb@FreeBSD.ORG Sat Apr 28 20:32:37 2007 Return-Path: X-Original-To: freebsd-usb@hub.freebsd.org Delivered-To: freebsd-usb@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CE8D916A407; Sat, 28 Apr 2007 20:32:37 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id A54AF13C457; Sat, 28 Apr 2007 20:32:37 +0000 (UTC) (envelope-from maxim@FreeBSD.org) Received: from freefall.freebsd.org (maxim@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l3SKWbIi056630; Sat, 28 Apr 2007 20:32:37 GMT (envelope-from maxim@freefall.freebsd.org) Received: (from maxim@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l3SKWYE6056332; Sat, 28 Apr 2007 20:32:34 GMT (envelope-from maxim) Date: Sat, 28 Apr 2007 20:32:34 GMT From: Maxim Konovalov Message-Id: <200704282032.l3SKWYE6056332@freefall.freebsd.org> To: mayr.gerald@amino-systems.com, maxim@FreeBSD.org, freebsd-usb@FreeBSD.org Cc: Subject: Re: usb/109613: Unsupported USB-Serial Controller for Sagem Mobile Phones X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Apr 2007 20:32:37 -0000 Synopsis: Unsupported USB-Serial Controller for Sagem Mobile Phones State-Changed-From-To: patched->closed State-Changed-By: maxim State-Changed-When: Sat Apr 28 20:32:19 UTC 2007 State-Changed-Why: Merged to RELENG_6. http://www.freebsd.org/cgi/query-pr.cgi?pr=109613