2016-03-17 00:09:26

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [GIT PULL] USB driver patches for 4.6-rc1

The following changes since commit fc77dbd34c5c99bce46d40a2491937c3bcbd10af:

Linux 4.5-rc6 (2016-02-28 08:41:20 -0800)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ tags/usb-4.6-rc1

for you to fetch changes up to ce53bfc4374cada8b645765e2b4ad5831e760932:

Merge tag 'usb-serial-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next (2016-03-08 20:28:19 -0800)

----------------------------------------------------------------
USB patches for 4.6-rc1

Here is the big USB patchset for 4.6-rc1.

The normal mess is here, gadget and xhci fixes and updates, and lots of
other driver updates and cleanups as well. Full details are in the
shortlog.

All have been in linux-next for a while with no reported issues.

Signed-off-by: Greg Kroah-Hartman <[email protected]>

----------------------------------------------------------------
Alan (1):
chipidea: error on overflow for port_test_write

Alan Stern (5):
USB: EHCI: store reason for unlinking a QH
USB: EHCI: improve handling of the ehci->iaa_in_progress flag
USB: EHCI: add a delay when unlinking an active QH
USB: EHCI: improvements to unlink_empty_async_suspended()
USB: EHCI: fix compiler warning introduced by commit 2a40f324541e

Alexey Khoroshilov (1):
usb: gadget: bdc_udc: fix race condition in bdc_udc_exit()

Amitoj Kaur Chawla (2):
usb: storage: ene_ub6250: Remove unnecessary cast in kfree
usb: dwc2: Use kmem_cache_free()

Andrew Goodbody (1):
usb: usbip: Fix possible deadlocks reported by lockdep

Andy Shevchenko (1):
usb: core: use kbasename() instead of open-coded variant

Antonio Ospite (1):
usb/storage: misc fixes to comments in include/linux/usb/storage.h

Antti Seppälä (1):
usb: dwc2: Add support for Lantiq ARX and XRX SoCs

Arnd Bergmann (14):
usb: host: unhide suspend/resume declarations
usb: xhci-mtk: use __maybe_unused to hide pm functions
usb: ohci-at91: use __maybe_unused to hide pm functions
usb: ehci-atmel: use __maybe_unused to hide pm functions
phy: dm816x: use __maybe_unused to hide pm functions
phy: twl4030: use __maybe_unused to hide pm functions
usb: gadget: pxa25x_udc: move register definitions from arch
usb: gadget: pxa25x_udc cleanup
usb: gadget: pxa25x_udc: use readl/writel for mmio
usb: fsl: drop USB_FSL_MPH_DR_OF Kconfig symbol
usb: isp1301-omap: mark power_up as __maybe_unused
usb: musb: use %pad format string from dma_addr_t
usb: musb/ux500: remove duplicate check for dma_is_compatible
usb: gadget: pxa25x_udc: document endianess better

Azriel Samson (1):
usb: host: ehci-msm: Register usb shutdown function

Bjorn Helgaas (1):
usb: phy: phy-am335x: remove include of regulator/consumer.h

Chase Metzger (1):
usb: core: devio.c: Removed unnecessary space

Christian Lamparter (1):
usbip: move usbip_protocol.txt to Documentation

Dan Carpenter (2):
USB: cxacru: fix an bounds check warning
usb: gadget: f_midi: missing unlock on error path

Dave Penkler (6):
Implement an ioctl to support the USMTMC-USB488 READ_STATUS_BYTE operation.
Add support for USBTMC USB488 SRQ notification with fasync
Add support for receiving USBTMC USB488 SRQ notifications via poll/select
Add ioctl to retrieve USBTMC-USB488 capabilities
Add ioctls to enable and disable local controls on an instrument
usb: usbtmc: Fix disconnect/poll interaction

Douglas Anderson (21):
usb: dwc2: rockchip: Make the max_transfer_size automatic
usb: dwc2: host: Get aligned DMA in a more supported way
usb: dwc2: host: Set host_rx_fifo_size to 525 for rk3066
usb: dwc2: host: Avoid use of chan->qh after qh freed
usb: dwc2: host: Always add to the tail of queues
usb: dwc2: host: fix split transfer schedule sequence
usb: dwc2: host: Add scheduler tracing
usb: dwc2: host: Add a delay before releasing periodic bandwidth
usb: dwc2: host: Giveback URB in tasklet context
usb: dwc2: host: Properly set the HFIR
usb: dwc2: host: There's not really a TT for the root hub
usb: dwc2: host: Use periodic interrupt even with DMA
usb: dwc2: host: Rename some fields in struct dwc2_qh
usb: dwc2: host: Reorder things in hcd_queue.c
usb: dwc2: host: Split code out to make dwc2_do_reserve()
usb: dwc2: host: Add scheduler logging for missed SOFs
usb: dwc2: host: Manage frame nums better in scheduler
usb: dwc2: host: Add dwc2_hcd_get_future_frame_number() call
usb: dwc2: host: Properly set even/odd frame
usb: dwc2: host: Totally redo the microframe scheduler
usb: dwc2: host: If using uframe scheduler, end splits better

Du, Changbin (1):
usb: f_fs: avoid race condition with ffs_epfile_io_complete

Emilio López (1):
usb: musb: sunxi: support module autoloading

Felipe F. Tonello (1):
usb: gadget: f_midi: remove useless midi reference from port struct

Geert Uytterhoeven (3):
usb: core: Allow compilation on platforms where NO_DMA=y
usb: dwc2: USB_DWC2 should depend on HAS_DMA
usb: host: Host drivers relying on DMA should depend on HAS_DMA

Geliang Tang (9):
usb: host: fotg210: use list_for_each_entry_safe
usb: host: max3421-hcd: use list_for_each_entry*
usb: host: oxu210hp-hcd: use list_for_each_entry_safe
usb: host: u132-hcd: use list_for_each_entry
usb: chipidea: debug: use list_for_each_entry
usb: gadget: rndis: use list_for_each_entry_safe
USB: core, devio: use to_usb_device
USB: core, wusbcore: use bus_to_hcd
USB: host: use to_platform_device

Geyslan G. Bem (36):
usb: host: ehci.h: remove space before comma
usb: host: ehci.h: remove space before function open parenthesis
usb: host: ehci.h: remove space before open square bracket
usb: host: ehci.h: fix single statement macros
usb: host: ehci.h: remove direct use of __attribute__ keyword
usb: host: ehci.h: use space after comma
usb: host: ehci.h: remove macros trailing semicolon
usb: host: ehci.h: move pointer operator to name side
usb: host: ehci.h: move constant to right
usb: host: ehci-dbg: remove space before open parenthesis
usb: host: ehci-dbg: remove space before open square bracket
usb: host: ehci-dbg: use C89-style comments
usb: host: ehci-dbg: move trailing statements to next line
usb: host: ehci-dbg: fix up closing parenthesis
usb: host: ehci-dbg: put spaces around operators
usb: host: ehci-dbg: use scnprintf() in qh_lines()
usb: host: ehci-dbg: fix up function definitions
usb: host: ehci-dbg: use a blank line after struct declarations
usb: host: ehci-dbg: convert macro to inline function
usb: host: ehci-dbg: add blank line after declarations
usb: host: ehci-dbg: remove blank line before close brace
usb: host: ehci-dbg: replace sizeof operand
usb: host: ehci-dbg: enclose conditional blocks with braces
usb: host: ehci-dbg: prefer kmalloc_array over kmalloc times size
usb: host: ehci-dbg: add function output_buf_tds_dir()
usb: ehci: remove old stub_debug_files definition
usb: host: ehci-sched: refactor scan_isoc function
usb: host: ehci-sched: move constants to right
usb: host: ehci-sched: remove useless initializations
usb: host: ehci-sched: add spaces around operators
usb: host: ehci-sched: remove prohibited spaces
usb: host: ehci-sched: remove useless else branch
usb: host: ehci-sched: use C89-style comments
usb: host: ehci-sched: add line after declarations
usb: host: ehci-sched: use sizeof operator with parens
usb: host: ehci-sched: remove unnecessary braces

Greg Kroah-Hartman (8):
Merge 4.5-rc2 into usb-next
Merge 4.5-rc4 into usb-next
Revert "usb: add HAS_IOMEM dependency to USB_APPLEDISPLAY"
Merge 4.5-rc6 into usb-next
Merge tag 'usb-ci-v4.6-rc1' of git://git.kernel.org/.../peter.chen/usb into usb-next
Merge tag 'usb-for-v4.6' of http://git.kernel.org/.../balbi/usb into usb-next
Merge tag 'phy-for-4.6' of git://git.kernel.org/.../kishon/linux-phy into usb-testing
Merge tag 'usb-serial-4.6-rc1' of git://git.kernel.org/.../johan/usb-serial into usb-next

Heiko Stuebner (1):
phy: rockchip-usb: add handler for usb-uart functionality

Heiner Kallweit (3):
usb: core: switch bus numbering to using idr
usb: core: rename mutex usb_bus_list_lock to usb_bus_idr_lock
usb: r8a66597: add locking to r8a66597_check_detect_child

Jack Pham (4):
usb: host: ehci-msm: Allow LS devices to work
usb: host: ehci-msm: Remove dependency on OTG PHY
usb: host: ehci-msm: Add support for ACPI probing
usb: host: ehci-msm: Fix register initialization

Jia-Ju Bai (2):
ehci-hcd: Cleanup memory resources when ehci_halt fails
ehci-hcd: Disable memory-write-invalidate when the driver is removed

John Youn (22):
usb: ch9: Add size macro for SSP dev cap descriptor
usb: gadget: Add gadget_is_superspeed_plus()
usb: gadget: composite: Return bcdUSB 0x0310
usb: gadget: composite: Return SSP Dev Cap descriptor
usb: gadget: Update usb_assign_descriptors for SuperSpeedPlus
usb: gadget: Update function for SuperSpeedPlus
usb: gadget: Update config for SuperSpeedPlus
usb: gadget: composite: Count configs for SuperSpeedPlus
usb: gadget: composite: Add function to get descriptors
usb: gadget: composite: Write SuperSpeedPlus config descriptors
usb: gadget: composite: Configure the usb_ep for SuperSpeedPlus
usb: gadget: composite: Update debug message for SuperSpeedPlus
usb: gadget: f_mass_storage: Enable SuperSpeedPlus
usb: dwc3: DWC_usb31 controller check
usb: dwc3: Update register fields for SuperSpeedPlus
usb: dwc3: Update speed checks for SuperSpeedPlus
usb: dwc3: Update maximum_speed for SuperSpeedPlus
usb: dwc3: Enable SuperSpeedPlus
usb: dwc3: Validate the maximum_speed parameter
usb: dwc2: Move register save and restore functions
usb: dwc2: Move host-specific core functions into hcd.c
usb: dwc2: Fix issues in dwc2_complete_non_isoc_xfer_ddma()

Julia Lawall (3):
usb: renesas_usbhs: constify usbhs_pkt_handle structures
usb: gadget: rndis: fix itnull.cocci warnings
usb: host: xhci-plat: fix of_table.cocci warnings

Junjie Mao (1):
USB: idmouse.c: Put the interface on error

Konstantin Shkolnyy (3):
USB: serial: cp210x: add 16-bit register access functions
USB: serial: cp210x: add 8-bit and 32-bit register access functions
USB: serial: cp210x: add new access functions for large registers

Krzysztof Kozlowski (1):
phy: Fix armada375 compile test build on UM

Krzysztof Opasiak (1):
usb: gadget: f_acm: Fix configfs attr name

Li Jun (11):
usb: chipidea: udc: remove unused value assignment
usb: gadget: add hnp_polling_support and host_request_flag in usb_gadget
usb: add OTG status selector definition for HNP polling
usb: common: otg-fsm: add HNP polling support
usb: chipidea: udc: bypass otg status selector handling to gadget driver
usb: gadget: composite: handle otg status selector request from OTG host
usb: chipidea: otg: set host_request_flag for gadget
usb: chipidea: otg: enable HNP polling support for gadget and host
Documentation: usb: chipidea: Update test procedure for HNP polling
usb: otg-fsm: add B_AIDL_BDIS timer
usb: chipidea: otg: add A idle to B disconnect timer

Maarten ter Huurne (1):
usb: phy: generic: Handle late registration of gadget

Marek Szyprowski (1):
usb: gadget: provide interface for legacy gadgets to get UDC name

Mathias Nyman (16):
usb: define USB_SPEED_SUPER_PLUS speed for SuperSpeedPlus USB3.1 devices
usb: set USB 3.1 roothub device speed to USB_SPEED_SUPER_PLUS
usb: show speed "10000" in sysfs for USB 3.1 SuperSpeedPlus devices
usb: add device descriptor for usb 3.1 root hub
usb: Support USB 3.1 extended port status request
xhci: Make sure xhci handles USB_SPEED_SUPER_PLUS devices.
xhci: set roothub speed to USB_SPEED_SUPER_PLUS for USB3.1 capable controllers
xhci: USB 3.1 add default Speed Attributes to SuperSpeedPlus device capability
xhci: set slot context speed field to SuperSpeedPlus for USB 3.1 SSP devices
usb: Add USB3.1 SuperSpeedPlus Isoc Endpoint Companion descriptor
usb: Parse the new USB 3.1 SuperSpeedPlus Isoc endpoint companion descriptor
usb: Add USB 3.1 Precision time measurement capability descriptor support
xhci: refactor and cleanup endpoint initialization.
xhci: Add SuperSpeedPlus high bandwidth isoc support to xhci endpoints
xhci: cleanup isoc tranfers queuing code
xhci: Support extended burst isoc TRB structure used by xhci 1.1 for USB 3.1

Mathieu OTHACEHE (4):
USB: serial: fix compare_const_fl.cocci warnings
USB: serial: fix returnvar.cocci warnings
USB: serial: fix boolinit.cocci warnings
USB: serial: fix semicolon.cocci warnings

Michal Nazarewicz (8):
usb: f_fs: fix memory leak when ep changes during transfer
usb: f_fs: fix ffs_epfile_io returning success on req alloc failure
usb: f_fs: replace unnecessary goto with a return
usb: f_fs: refactor ffs_epfile_io
usb: gadget: f_midi: move some of f_midi_transmit to separate func
usb: gadget: f_midi: fix in_last_port looping logic
usb: gadget: f_midi: use flexible array member for gmidi_in_port elements
usb: gadget: f_midi: stash substream in gmidi_in_port structure

Oliver Neukum (9):
USB: uas: add full support for RESPONSE IU
usb: sysfs: make locking interruptible
usb: no locking for reading descriptors in sysfs
cdc-acm: fix mail address
cdc-acm: implement put_char() and flush_chars()
usb: retry reset if a device times out
usb/misc/chaoskey: Cleanup probe failure paths
usb/misc/chaoskey: introduce an URB for asynchronous reads
usb: hub: fix a typo in hub_port_init() leading to wrong logic

Peter Chen (4):
usb: chipidea: add system interface for ttctrl.ttha
doc: usb: ci-hdrc-usb2: add property non-zero-ttctrl-ttha
Revert "usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA"
USB: core: let USB device know device node

Peter Senna Tschudin (7):
usb-misc: sisusbvga: Fix coding style: horizontal whitespace changes
usb-misc: sisusbvga: Fix coding style: vertical whitespace changes
usb-misc: sisusbvga: Fix coding style: braces, parenthesis, comment
usb-misc: sisusbvga: Fix coding style: remove assignment from if tests
usb-misc: sisusbvga: Remove null test before calls to kfree()
usb-misc: sisusbvga: Remove memory allocation logs
usb-misc: sisusbvga: fix error path

Petr Kulhavy (1):
usb: musb: core: added missing const qualifier to musb_hdrc_platform_data::config

Rafał Miłecki (2):
USB: bcma: make helper creating platform dev more generic
USB: bcma: separate code initializing USB 2.0 core

Rahul Pathak (1):
usb: Use memdup_user to reuse the code

Reilly Grant (1):
usb: devio: Add ioctl to disallow detaching kernel USB drivers.

Robert Jarzmik (1):
usb: host: ohci-pxa27x: propagate the irq error code

Saurabh Sengar (2):
drivers: usb: removed assignment of 0 to static variables
usb: host: pci_quirks: fix memory leak, by adding iounmap

Shawn Lin (2):
Documentation: bindings: add dt documentation for Rockchip eMMC PHY
phy: add a driver for the Rockchip SoC internal eMMC PHY

Simon Horman (4):
usb: renesas_usbhs: Use ARCH_RENESAS
usb: host: xhci-rcar: Use ARCH_RENESAS
usb: host: xhci-plat: add R-Car Gen2 and Gen3 fallback compatibility strings
usb: gadget: renesas_usb3: Use ARCH_RENESAS

Sriram Dash (2):
drivers/usb/host: fsl: Set DMA_MASK of usb platform device
drivers/usb/host/fsl: Port USB EHCI host driver for LS102xA

Stefan Agner (1):
usb: chipidea: imx: avoid EPROBE_DEFER printed as error

Stefan Wahren (2):
usb: chipidea: add CI_HDRC_TURN_VBUS_EARLY_ON for imx23
dt-bindings: ci-hdrc-usb2: add missing compatibles

Steinar H. Gunderson (1):
USB: Add support for usbfs zerocopy.

Vegard Nossum (19):
usb: add HAS_IOMEM dependency to USB_ISP116X_HCD
usb: add HAS_IOMEM dependency to USB_NET2272
usb: Add HAS_IOMEM dependency to USB_M66592
usb: add HAS_IOMEM dependency to USB_XHCI_MVEBU
usb: add HAS_IOMEM dependency to USB_R8A66597_HCD
usb: add HAS_IOMEM dependency to USB_MUSB_TUSB6010
usb: add HAS_IOMEM dependency to USB_C67X00_HCD
usb: add HAS_IOMEM dependency to USB_SL811_HCD
usb: add HAS_IOMEM dependency to USB_DWC2
usb: add HAS_IOMEM dependency to USB_EHCI_HCD
usb: add HAS_IOMEM dependency to USB_XHCI_HCD
usb: add HAS_IOMEM dependency to USB_FOTG210_HCD
usb: add HAS_IOMEM dependency to USB_MUSB_HDRC
usb: add HAS_IOMEM dependency to USB_PXA25X
usb: add HAS_IOMEM dependency to USB_APPLEDISPLAY
usb: add HAS_IOMEM dependency to USB_OHCI_HCD
usb: add HAS_IOMEM dependency to USB_PXA27X
usb: add HAS_IOMEM dependency to USB_OXU210HP_HCD
usb: add HAS_IOMEM dependency to USB_ISP1362_HCD

Victor Dodon (1):
usb: storage: use usb_store_dbg instead of US_DEBUGPX

Vladimir Zapolskiy (6):
usb: ohci: nxp: clean up included header files
usb: ohci: nxp: remove direct access to clock controller registers
usb: ohci: nxp: remove USB PLL and USB OTG clock management
usb: udc: lpc32xx: switch to clock prepare/unprepare model
usb: udc: lpc32xx: remove direct access to clock controller registers
usb: udc: lpc32xx: remove USB PLL and USB OTG clock management

Yakir Yang (2):
phy: Add driver for rockchip Display Port PHY
dt-bindings: add document for rockchip dp phy

Yoshihiro Shimoda (4):
phy: rcar-gen3-usb2: remove HSUSB registers handling
usb: renesas_usbhs: add R-Car Gen3 power control
usb: renesas_usbhs: Don't check CSSTS bit if peripheral mode
usb: renesas_usbhs: gadget: fix giveback status code in usbhsg_pipe_disable()

Documentation/DocBook/usb.tmpl | 12 +
.../devicetree/bindings/phy/rcar-gen3-phy-usb2.txt | 15 +-
.../devicetree/bindings/phy/rockchip-dp-phy.txt | 22 +
.../devicetree/bindings/phy/rockchip-emmc-phy.txt | 19 +
.../devicetree/bindings/usb/ci-hdrc-usb2.txt | 23 +
Documentation/devicetree/bindings/usb/dwc2.txt | 2 +
.../devicetree/bindings/usb/usb-device.txt | 28 +
Documentation/devicetree/bindings/usb/usb-xhci.txt | 21 +-
Documentation/kernel-parameters.txt | 6 +
Documentation/usb/chipidea.txt | 9 +-
Documentation/usb/usbdevfs-drop-permissions.c | 120 ++
.../usbip => Documentation/usb}/usbip_protocol.txt | 0
MAINTAINERS | 3 +-
arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h | 198 --
arch/arm/mach-pxa/include/mach/pxa25x-udc.h | 163 --
drivers/phy/Kconfig | 16 +-
drivers/phy/Makefile | 2 +
drivers/phy/phy-dm816x-usb.c | 4 +-
drivers/phy/phy-rcar-gen3-usb2.c | 83 +-
drivers/phy/phy-rockchip-dp.c | 151 ++
drivers/phy/phy-rockchip-emmc.c | 229 ++
drivers/phy/phy-rockchip-usb.c | 233 +-
drivers/phy/phy-twl4030-usb.c | 4 +-
drivers/usb/Makefile | 2 +-
drivers/usb/atm/cxacru.c | 2 +
drivers/usb/chipidea/ci_hdrc_imx.c | 13 +-
drivers/usb/chipidea/core.c | 3 +
drivers/usb/chipidea/debug.c | 5 +-
drivers/usb/chipidea/otg_fsm.c | 29 +-
drivers/usb/chipidea/otg_fsm.h | 2 +
drivers/usb/chipidea/udc.c | 4 +-
drivers/usb/class/cdc-acm.c | 67 +
drivers/usb/class/cdc-acm.h | 1 +
drivers/usb/class/usbtmc.c | 331 +++
drivers/usb/common/common.c | 1 +
drivers/usb/common/usb-otg-fsm.c | 87 +
drivers/usb/core/Makefile | 2 +-
drivers/usb/core/buffer.c | 18 +-
drivers/usb/core/config.c | 37 +-
drivers/usb/core/devices.c | 26 +-
drivers/usb/core/devio.c | 301 ++-
drivers/usb/core/file.c | 9 +-
drivers/usb/core/hcd-pci.c | 2 +-
drivers/usb/core/hcd.c | 114 +-
drivers/usb/core/hub.c | 122 +-
drivers/usb/core/hub.h | 7 +
drivers/usb/core/of.c | 47 +
drivers/usb/core/sysfs.c | 68 +-
drivers/usb/core/urb.c | 3 +-
drivers/usb/core/usb.c | 15 +-
drivers/usb/core/usb.h | 2 +-
drivers/usb/dwc2/Kconfig | 1 +
drivers/usb/dwc2/core.c | 2242 ++-----------------
drivers/usb/dwc2/core.h | 151 +-
drivers/usb/dwc2/gadget.c | 102 +
drivers/usb/dwc2/hcd.c | 2255 ++++++++++++++++++--
drivers/usb/dwc2/hcd.h | 134 +-
drivers/usb/dwc2/hcd_ddma.c | 49 +-
drivers/usb/dwc2/hcd_intr.c | 174 +-
drivers/usb/dwc2/hcd_queue.c | 1969 +++++++++++++----
drivers/usb/dwc2/platform.c | 38 +-
drivers/usb/dwc3/core.c | 31 +-
drivers/usb/dwc3/core.h | 11 +-
drivers/usb/dwc3/ep0.c | 9 +-
drivers/usb/dwc3/gadget.c | 30 +-
drivers/usb/gadget/composite.c | 150 +-
drivers/usb/gadget/config.c | 9 +-
drivers/usb/gadget/configfs.c | 1 +
drivers/usb/gadget/function/f_acm.c | 6 +-
drivers/usb/gadget/function/f_ecm.c | 2 +-
drivers/usb/gadget/function/f_eem.c | 2 +-
drivers/usb/gadget/function/f_fs.c | 155 +-
drivers/usb/gadget/function/f_hid.c | 2 +-
drivers/usb/gadget/function/f_loopback.c | 2 +-
drivers/usb/gadget/function/f_mass_storage.c | 2 +-
drivers/usb/gadget/function/f_midi.c | 200 +-
drivers/usb/gadget/function/f_ncm.c | 2 +-
drivers/usb/gadget/function/f_obex.c | 3 +-
drivers/usb/gadget/function/f_phonet.c | 2 +-
drivers/usb/gadget/function/f_printer.c | 2 +-
drivers/usb/gadget/function/f_rndis.c | 2 +-
drivers/usb/gadget/function/f_serial.c | 2 +-
drivers/usb/gadget/function/f_sourcesink.c | 2 +-
drivers/usb/gadget/function/f_subset.c | 2 +-
drivers/usb/gadget/function/f_tcm.c | 2 +-
drivers/usb/gadget/function/f_uac1.c | 3 +-
drivers/usb/gadget/function/f_uac2.c | 3 +-
drivers/usb/gadget/function/rndis.c | 20 +-
drivers/usb/gadget/legacy/inode.c | 28 +-
drivers/usb/gadget/udc/Kconfig | 7 +-
drivers/usb/gadget/udc/bdc/bdc_udc.c | 5 +
drivers/usb/gadget/udc/lpc32xx_udc.c | 103 +-
drivers/usb/gadget/udc/pxa25x_udc.c | 530 +++--
drivers/usb/gadget/udc/pxa25x_udc.h | 11 +-
drivers/usb/gadget/udc/udc-core.c | 30 +
drivers/usb/host/Kconfig | 18 +-
drivers/usb/host/Makefile | 3 +-
drivers/usb/host/bcma-hcd.c | 83 +-
drivers/usb/host/ehci-atmel.c | 6 +-
drivers/usb/host/ehci-dbg.c | 477 +++--
drivers/usb/host/ehci-fsl.c | 24 +-
drivers/usb/host/ehci-hcd.c | 22 +-
drivers/usb/host/ehci-hub.c | 6 +-
drivers/usb/host/ehci-msm.c | 66 +-
drivers/usb/host/ehci-pci.c | 8 +-
drivers/usb/host/ehci-platform.c | 6 +-
drivers/usb/host/ehci-q.c | 104 +-
drivers/usb/host/ehci-sched.c | 524 ++---
drivers/usb/host/ehci-st.c | 6 +-
drivers/usb/host/ehci-timer.c | 5 +-
drivers/usb/host/ehci.h | 99 +-
drivers/usb/host/fotg210-hcd.c | 15 +-
drivers/usb/host/fsl-mph-dr-of.c | 7 +-
drivers/usb/host/max3421-hcd.c | 16 +-
drivers/usb/host/ohci-at91.c | 8 +-
drivers/usb/host/ohci-nxp.c | 87 +-
drivers/usb/host/ohci-platform.c | 6 +-
drivers/usb/host/ohci-pxa27x.c | 2 +-
drivers/usb/host/ohci-st.c | 6 +-
drivers/usb/host/ohci.h | 2 -
drivers/usb/host/oxu210hp-hcd.c | 15 +-
drivers/usb/host/pci-quirks.c | 3 +-
drivers/usb/host/r8a66597-hcd.c | 11 +-
drivers/usb/host/u132-hcd.c | 18 +-
drivers/usb/host/xhci-hub.c | 27 +-
drivers/usb/host/xhci-mem.c | 180 +-
drivers/usb/host/xhci-mtk.c | 10 +-
drivers/usb/host/xhci-plat.c | 6 +
drivers/usb/host/xhci-ring.c | 134 +-
drivers/usb/host/xhci.c | 8 +-
drivers/usb/host/xhci.h | 15 +-
drivers/usb/misc/chaoskey.c | 122 +-
drivers/usb/misc/idmouse.c | 2 +-
drivers/usb/misc/sisusbvga/sisusb.c | 1543 +++++++-------
drivers/usb/mon/mon_main.c | 9 +-
drivers/usb/musb/Kconfig | 2 +
drivers/usb/musb/musb_core.c | 2 +-
drivers/usb/musb/musb_core.h | 2 +-
drivers/usb/musb/musbhsdma.c | 8 +-
drivers/usb/musb/sunxi.c | 1 +
drivers/usb/musb/tusb6010_omap.c | 4 +-
drivers/usb/musb/ux500_dma.c | 3 -
drivers/usb/phy/phy-am335x.c | 1 -
drivers/usb/phy/phy-generic.c | 11 +-
drivers/usb/phy/phy-isp1301-omap.c | 2 +-
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/renesas_usbhs/Makefile | 2 +-
drivers/usb/renesas_usbhs/common.c | 14 +-
drivers/usb/renesas_usbhs/fifo.c | 20 +-
drivers/usb/renesas_usbhs/fifo.h | 20 +-
drivers/usb/renesas_usbhs/mod_gadget.c | 2 +-
drivers/usb/renesas_usbhs/pipe.c | 6 +-
drivers/usb/renesas_usbhs/pipe.h | 2 +-
drivers/usb/renesas_usbhs/rcar3.c | 54 +
drivers/usb/renesas_usbhs/rcar3.h | 3 +
drivers/usb/serial/ch341.c | 2 +-
drivers/usb/serial/cp210x.c | 306 +--
drivers/usb/serial/cyberjack.c | 3 +-
drivers/usb/serial/ftdi_sio.c | 10 +-
drivers/usb/serial/ftdi_sio.h | 8 +-
drivers/usb/serial/garmin_gps.c | 51 +-
drivers/usb/serial/iuu_phoenix.c | 4 +-
drivers/usb/serial/keyspan.c | 2 +-
drivers/usb/serial/kl5kusb105.c | 3 -
drivers/usb/serial/mos7840.c | 4 +-
drivers/usb/serial/quatech2.c | 2 +-
drivers/usb/serial/safe_serial.c | 11 +-
drivers/usb/storage/debug.c | 12 +-
drivers/usb/storage/debug.h | 3 -
drivers/usb/storage/ene_ub6250.c | 4 +-
drivers/usb/storage/sddr09.c | 18 +-
drivers/usb/storage/uas.c | 36 +-
drivers/usb/usbip/usbip_event.c | 5 +-
drivers/usb/usbip/vhci_hcd.c | 88 +-
drivers/usb/usbip/vhci_rx.c | 30 +-
drivers/usb/usbip/vhci_sysfs.c | 19 +-
drivers/usb/usbip/vhci_tx.c | 14 +-
drivers/usb/wusbcore/wusbhc.h | 2 +-
include/linux/device.h | 5 +
include/linux/usb.h | 11 +-
include/linux/usb/composite.h | 6 +
include/linux/usb/gadget.h | 20 +-
include/linux/usb/hcd.h | 5 +-
include/linux/usb/msm_hsusb_hw.h | 1 +
include/linux/usb/musb.h | 2 +-
include/linux/usb/of.h | 7 +
include/linux/usb/otg-fsm.h | 15 +
include/linux/usb/renesas_usbhs.h | 1 +
include/linux/usb/storage.h | 12 +-
include/uapi/linux/usb/ch11.h | 21 +
include/uapi/linux/usb/ch9.h | 36 +
include/uapi/linux/usb/tmc.h | 29 +-
include/uapi/linux/usbdevice_fs.h | 3 +
193 files changed, 9739 insertions(+), 6111 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/rockchip-dp-phy.txt
create mode 100644 Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
create mode 100644 Documentation/devicetree/bindings/usb/usb-device.txt
create mode 100644 Documentation/usb/usbdevfs-drop-permissions.c
rename {drivers/usb/usbip => Documentation/usb}/usbip_protocol.txt (100%)
create mode 100644 drivers/phy/phy-rockchip-dp.c
create mode 100644 drivers/phy/phy-rockchip-emmc.c
create mode 100644 drivers/usb/core/of.c
create mode 100644 drivers/usb/renesas_usbhs/rcar3.c
create mode 100644 drivers/usb/renesas_usbhs/rcar3.h


2016-03-18 21:43:22

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Wed, Mar 16, 2016 at 5:09 PM, Greg KH <[email protected]> wrote:
>
> USB patches for 4.6-rc1
>
> Here is the big USB patchset for 4.6-rc1.

Something in this - or possibly the tty pull, but that doesn't sound
very likely - has killed my USB keyboard on my desktop.

I'm bisecting right now. Expect a likely revert.

Linus

2016-03-18 21:58:32

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 2:43 PM, Linus Torvalds
<[email protected]> wrote:
>
> Something in this - or possibly the tty pull, but that doesn't sound
> very likely - has killed my USB keyboard on my desktop.

Yeah, the bisect is now solidly in the usb part.

The machine has

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI
Controller (rev 31)
03:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller

and the keyboard and mouse are on

/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M

which seems to be that ASMedia 3.1 controller.

In case that gives anybody a clue while I continue bisecting.

Linus

2016-03-18 22:12:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 02:58:27PM -0700, Linus Torvalds wrote:
> On Fri, Mar 18, 2016 at 2:43 PM, Linus Torvalds
> <[email protected]> wrote:
> >
> > Something in this - or possibly the tty pull, but that doesn't sound
> > very likely - has killed my USB keyboard on my desktop.
>
> Yeah, the bisect is now solidly in the usb part.
>
> The machine has
>
> 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI
> Controller (rev 31)
> 03:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
>
> and the keyboard and mouse are on
>
> /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
>
> which seems to be that ASMedia 3.1 controller.
>
> In case that gives anybody a clue while I continue bisecting.

Hm, your tree as of this morning works just fine for me right now (am
typing this from a USB keyboard), but I have an older host controller:
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)


I do see an oops in the snd_usb_audio driver that I didn't notice
before:


[ +0.002298] input: Schiit Audio USB Modi Device as /devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10.1/2-10.1:1.2/0003:0D8C:1319.0001/input/input17
[ +0.000056] hid-generic 0003:0D8C:1319.0001: input,hidraw0: USB HID v1.00 Device [Schiit Audio USB Modi Device] on usb-0000:00:14.0-10.1/input2
[ +0.008749] BUG: unable to handle kernel NULL pointer dereference at 0000000000000014
[ +0.001151] IP: [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio]
[ +0.001142] PGD 0
[ +0.001114] Oops: 0000 [#1] PREEMPT SMP
[ +0.001115] Modules linked in: snd_usb_audio(+) hid_generic snd_usbmidi_lib usbhid snd_rawmidi snd_seq_device hid media arc4 fuse btusb btrtl btbcm btintel bluetooth rt2800usb rt2x00usb rt2800lib rt2x00lib mac80211 crc_ccitt cfg80211 rfkill nls_cp437 vfat fat iTCO_wdt iTCO_vendor_support mxm_wmi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crct10dif_common crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd psmouse serio_raw pcspkr firewire_ohci firewire_core crc_itu_t xhci_pci ehci_pci xhci_hcd ehci_hcd mei_me usbcore mei lpc_ich mfd_core usb_common wmi evdev ip_tables x_tables
[ +0.004079] CPU: 4 PID: 615 Comm: systemd-udevd Not tainted 4.6.0-rc1+ #103
[ +0.001382] Hardware name: / , BIOS KLZ8711D.86A.0457.2015.0713.1319 07/13/2015
[ +0.001387] task: ffff880098ec0e00 ti: ffff880251920000 task.ti: ffff880251920000
[ +0.001417] RIP: 0010:[<ffffffffc0e79921>] [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio]
[ +0.001414] RSP: 0018:ffff880251923af0 EFLAGS: 00010246
[ +0.001409] RAX: 0000000000000000 RBX: ffff88024d602000 RCX: 0000000000000000
[ +0.001404] RDX: ffff880254e0b340 RSI: ffff8802559b99f8 RDI: ffffffff82181030
[ +0.001413] RBP: ffff880251923b50 R08: 0000000000019d00 R09: ffffffff81385837
[ +0.001431] R10: ffffea0009461200 R11: ffff880253b3fe72 R12: 0000000000000000
[ +0.001411] R13: 0000000000000000 R14: 0000000000000001 R15: ffff88025338c212
[ +0.001436] FS: 00007f7a8db567c0(0000) GS:ffff88025fb00000(0000) knlGS:0000000000000000
[ +0.001431] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ +0.001445] CR2: 0000000000000014 CR3: 0000000251854000 CR4: 00000000001406e0
[ +0.001451] Stack:
[ +0.001433] ffff880253302e88 ffff88024d602054 ffff88009879d000 ffff880253302e88
[ +0.001480] ffff880255f7e000 386430425355d030 ff00393133313a63 ffff8800984f4098
[ +0.001466] ffff8800984f4000 ffffffffc0e95728 ffff88009879d030 ffffffffc0e955a0
[ +0.001497] Call Trace:
[ +0.001295] [<ffffffffc0067cfd>] usb_probe_interface+0x1bd/0x300 [usbcore]
[ +0.001427] [<ffffffff815987e9>] driver_probe_device+0x249/0x450
[ +0.001400] [<ffffffff81598a74>] __driver_attach+0x84/0x90
[ +0.001398] [<ffffffff815989f0>] ? driver_probe_device+0x450/0x450
[ +0.001417] [<ffffffff815963e4>] bus_for_each_dev+0x64/0xa0
[ +0.001369] [<ffffffff81597ede>] driver_attach+0x1e/0x20
[ +0.001396] [<ffffffff815979ab>] bus_add_driver+0x1eb/0x280
[ +0.001365] [<ffffffff81599390>] driver_register+0x60/0xe0
[ +0.001369] [<ffffffffc0066834>] usb_register_driver+0x84/0x140 [usbcore]
[ +0.001422] [<ffffffffc0e9d000>] ? 0xffffffffc0e9d000
[ +0.001370] [<ffffffffc0e9d01e>] usb_audio_driver_init+0x1e/0x20 [snd_usb_audio]
[ +0.001472] [<ffffffff8100211b>] do_one_initcall+0xab/0x1d0
[ +0.001547] [<ffffffff8115e732>] do_init_module+0x5f/0x1cd
[ +0.001469] [<ffffffff810f9ec8>] load_module+0x1368/0x1510
[ +0.001542] [<ffffffff810f75d0>] ? symbol_put_addr+0x50/0x50
[ +0.001468] [<ffffffff810fa2a8>] SyS_finit_module+0xc8/0xf0
[ +0.001451] [<ffffffff81003c6e>] do_syscall_64+0x5e/0xc0
[ +0.001538] [<ffffffff817fb425>] entry_SYSCALL64_slow_path+0x25/0x25
[ +0.001397] Code: f8 01 00 44 89 e6 48 89 df e8 dc 73 00 00 85 c0 89 c1 0f 88 99 00 00 00 48 8b 7b 10 e8 c9 0b 80 c0 85 c0 89 c1 0f 88 86 00 00 00 <41> 80 7d 14 00 0f 85 90 04 00 00 48 63 03 48 89 1c c5 40 90 e9
[ +0.001513] RIP [<ffffffffc0e79921>] usb_audio_probe+0x1e1/0x8f0 [snd_usb_audio]
[ +0.001468] RSP <ffff880251923af0>
[ +0.001576] CR2: 0000000000000014
[ +0.010610] ---[ end trace c9cdd61401b8f1d9 ]---

But my keyboard still works :)

The results of bisection will be interesting to see...

thanks,

greg k-h

2016-03-18 22:23:49

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 03:12:15PM -0700, Greg KH wrote:
> On Fri, Mar 18, 2016 at 02:58:27PM -0700, Linus Torvalds wrote:
> > On Fri, Mar 18, 2016 at 2:43 PM, Linus Torvalds
> > <[email protected]> wrote:
> > >
> > > Something in this - or possibly the tty pull, but that doesn't sound
> > > very likely - has killed my USB keyboard on my desktop.
> >
> > Yeah, the bisect is now solidly in the usb part.
> >
> > The machine has
> >
> > 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI
> > Controller (rev 31)
> > 03:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
> >
> > and the keyboard and mouse are on
> >
> > /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
> >
> > which seems to be that ASMedia 3.1 controller.
> >
> > In case that gives anybody a clue while I continue bisecting.
>
> Hm, your tree as of this morning works just fine for me right now (am
> typing this from a USB keyboard), but I have an older host controller:
> 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
>
>
> I do see an oops in the snd_usb_audio driver that I didn't notice
> before:

Ok, I pulled your latest tree and I get the same results, sound driver
crashes, but keyboard works fine. I'll go poke the sound developers
about it.

thanks,

greg k-h

2016-03-18 22:51:36

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 2:58 PM, Linus Torvalds
<[email protected]> wrote:
>
> Yeah, the bisect is now solidly in the usb part.

The commit that ends up being marked bad is odd, but there it is:
69bec7259853 "USB: core: let USB device know device node".

Very odd, but I tested multiple times: I'm typing this on
d883f52e1f6d, and everything is fine. On 69bec7259853, I can't type.

Note that when I say "I can't type", it's the early boot disk
encryption password. And maybe there's an oops there, but I can't see
it, and I can't log it.

I don't even have CONFIG_OF enabled, so I don't see what difference
that patch would make. But it makes some difference.

I'll double-check by reverting it on top of current git (it does seem
to at least revert cleanly), I haven't done that yet. But adding the
people involved in that commit to the discussion to see if anybody
sees anything.

Linus

2016-03-18 22:58:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 03:51:34PM -0700, Linus Torvalds wrote:
> On Fri, Mar 18, 2016 at 2:58 PM, Linus Torvalds
> <[email protected]> wrote:
> >
> > Yeah, the bisect is now solidly in the usb part.
>
> The commit that ends up being marked bad is odd, but there it is:
> 69bec7259853 "USB: core: let USB device know device node".
>
> Very odd, but I tested multiple times: I'm typing this on
> d883f52e1f6d, and everything is fine. On 69bec7259853, I can't type.
>
> Note that when I say "I can't type", it's the early boot disk
> encryption password. And maybe there's an oops there, but I can't see
> it, and I can't log it.
>
> I don't even have CONFIG_OF enabled, so I don't see what difference
> that patch would make. But it makes some difference.
>
> I'll double-check by reverting it on top of current git (it does seem
> to at least revert cleanly), I haven't done that yet. But adding the
> people involved in that commit to the discussion to see if anybody
> sees anything.

Yes, people did report issues with that yesterday, and I queued up a
patch for it, it's attached below, but I didn't think it would cause any
issues with non-OF systems either. I wanted to give it a few days
testing in linux-next before sending it to you, but can do so now if you
want.

thanks,

greg k-h


Attachments:
(No filename) (1.28 kB)
0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch (4.35 kB)
Download all attachments

2016-03-18 23:02:06

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 3:51 PM, Linus Torvalds
<[email protected]> wrote:
>
> The commit that ends up being marked bad is odd, but there it is:
> 69bec7259853 "USB: core: let USB device know device node".

Confirmed. Not only did it bisect to that, reverting it on top of the
current kernel fixes my machine.

So that commit is somehow buggy. I don't see what it does that would
break even with OF disabled, but something does.

I'll just revert it. The way it is done seems bogus anyway. It looks
at of_node when OF is disabled, but generally that isn't even
initialized as far as I can tell, and we have things like
dev_of_node() helpers to make sure you don't do that.

Linus

2016-03-18 23:10:00

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 3:58 PM, Greg KH <[email protected]> wrote:
>
> Yes, people did report issues with that yesterday, and I queued up a
> patch for it, it's attached below, but I didn't think it would cause any
> issues with non-OF systems either. I wanted to give it a few days
> testing in linux-next before sending it to you, but can do so now if you
> want.

Ok, that fixes it for me. Yeah, I'll need this in order to continue
merging, I don't merge more stuff on top of known-bad kernels.

I can apply the patch directly (I did it on that machine for testing),
or take a pull request. Just let me know.

Linus

2016-03-18 23:17:18

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 04:09:50PM -0700, Linus Torvalds wrote:
> On Fri, Mar 18, 2016 at 3:58 PM, Greg KH <[email protected]> wrote:
> >
> > Yes, people did report issues with that yesterday, and I queued up a
> > patch for it, it's attached below, but I didn't think it would cause any
> > issues with non-OF systems either. I wanted to give it a few days
> > testing in linux-next before sending it to you, but can do so now if you
> > want.
>
> Ok, that fixes it for me. Yeah, I'll need this in order to continue
> merging, I don't merge more stuff on top of known-bad kernels.
>
> I can apply the patch directly (I did it on that machine for testing),
> or take a pull request. Just let me know.

Here's the pull request, it also includes some security fixes that have
been reported publicly, and a crash for the UAS driver that some people
have hit already.

------------


The following changes since commit 48d10bda1f2c69980601a61194015bb0790fb7ab:

Merge tag 'usb-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb (2016-03-17 14:24:26 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ tags/usb-4.6-rc1

for you to fetch changes up to 55ff8cfbc4e12a7d2187df523938cc671fbebdd1:

USB: uas: Reduce can_queue to MAX_CMNDS (2016-03-18 09:19:02 -0700)

----------------------------------------------------------------
USB fixes for 4.6-rc1

Here is a USB fix for the reported issue with 69bec7259853 "USB: core:
let USB device know device node" as well as some other issues that have
been reported so far with this merge.

Signed-off-by: Greg Kroah-Hartman <[email protected]>

----------------------------------------------------------------
Hans de Goede (1):
USB: uas: Reduce can_queue to MAX_CMNDS

Josh Boyer (1):
USB: iowarrior: fix oops with malicious USB descriptors

Nicolai Stange (1):
usb/core: usb_alloc_dev(): fix setting of ->portnum

Oliver Neukum (2):
USB: usb_driver_claim_interface: add sanity checking
USB: cdc-acm: more sanity checking

drivers/usb/class/cdc-acm.c | 3 +++
drivers/usb/core/driver.c | 6 +++++-
drivers/usb/core/usb.c | 5 +++--
drivers/usb/misc/iowarrior.c | 6 ++++++
drivers/usb/storage/uas.c | 2 +-
5 files changed, 18 insertions(+), 4 deletions(-)

2016-03-20 11:37:45

by Peter Chen

[permalink] [raw]
Subject: Re: [GIT PULL] USB driver patches for 4.6-rc1

On Fri, Mar 18, 2016 at 04:01:51PM -0700, Linus Torvalds wrote:
> On Fri, Mar 18, 2016 at 3:51 PM, Linus Torvalds
> <[email protected]> wrote:
> >
> > The commit that ends up being marked bad is odd, but there it is:
> > 69bec7259853 "USB: core: let USB device know device node".
>
> Confirmed. Not only did it bisect to that, reverting it on top of the
> current kernel fixes my machine.
>
> So that commit is somehow buggy. I don't see what it does that would
> break even with OF disabled, but something does.
>
> I'll just revert it. The way it is done seems bogus anyway. It looks
> at of_node when OF is disabled, but generally that isn't even
> initialized as far as I can tell, and we have things like
> dev_of_node() helpers to make sure you don't do that.
>

I am sorry to make things break, Nicolai Stange's found the root cause
for this problem, and his patch fixed it.

USB device structure (both struct usb_hcd and struct usb_device) is
initialized by kzalloc, so the struct device in it is initialized by
zero, and will not cause non-initialized for USB device, but you
are right, a good practice is using dev_of_node for all devices in
case the struct device is not zero-initialized.

--

Best Regards,
Peter Chen