summaryrefslogtreecommitdiff
path: root/drivers/usb
AgeCommit message (Collapse)Author
2016-07-29usb: dwc3: Update VBUS status with USB controllerMayank Rana
It is required to update VBUS status to USB controller using qscratch registers HS_PHY_CTRL and SS_PHY_CTRL interfacing high-speed and super-speed PHYs. This change perfoms same from USB controller's glue driver on starting and stopping peripheral mode based on supported USB speed with USB gadget. It also updates devicetree documentation explicitly mentioning required register sets. CRs-Fixed: 1046503 Change-Id: I92df87c0e2ff54dd7ee513d277cc075eab561019 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-07-29usb: phy: qusb: Remove updating VBUS status from QUSB PHY driverMayank Rana
This change removes updating VBUS status from QUSB PHY driver using QSCRATCH register. New change would be adding same functionality from USB controller driver. - It also updates devicetree documentation and existing supported MSM platforms' USB device node property to accommodate above changes. CRs-Fixed: 1046503 Change-Id: I4573a077bb455ebe3750ab76a91d2593d7e94ea5 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-07-27Merge "usb: f_gsi: Update connection parameters for GSI channels"Linux Build Service Account
2016-07-27Merge "usb: phy: Make cfg_ahb_clk optional"Linux Build Service Account
2016-07-27Merge "usb: dwc3: Fix NULL ptr dereference in ep disable ops"Linux Build Service Account
2016-07-27Merge "ARM: dts: msm: Update QUSB PHY device node compatible property on ↵Linux Build Service Account
msmcobalt"
2016-07-27Merge "msm: ipa3: changes to IPA USB APIs to support SMMU"Linux Build Service Account
2016-07-27Merge "usb: pd: Don't notify EXTCON_USB unless type is SDP or CDP"Linux Build Service Account
2016-07-26Merge "usb: pd: Add vendor defined message handling"Linux Build Service Account
2016-07-26Merge "usb: xhci-plat: Add XHCI_STATE_REMOVING flag on removal of usb device"Linux Build Service Account
2016-07-26Merge "xhci: fix 10 second timeout on removal of PCI hotpluggable xhci ↵Linux Build Service Account
controllers"
2016-07-26usb: phy: Make cfg_ahb_clk optionalHemant Kumar
USB qusb2 and ssusb qmp phy drivers are not required to manage gcc_usb_phy_cfg_ahb2phy_clk clock. It will stay always ON except when in XO-shutdown. RPM will manage this clock. Change-Id: I92647d8ba53bb498b1048ea920a25c04441f6e10 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-26usb: dwc3: Make cfg_ahb_clk optionalHemant Kumar
dwc3 USB driver is not required to not manage gcc_usb_phy_cfg_ahb2phy_clk clock. It will stay always ON except when in XO-shutdown. RPM will manage this clock. Change-Id: Icc33e63a52b3c5ce83ef2fc56d68eae20278cac0 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-26usb: f_gsi: Update connection parameters for GSI channelsDevdutt Patnaik
Stage 1 SMMU enablement on IPA requires that the USB driver pass physical and virtual addresses to IPA for addresses that GSI hardware will write to. Update the connection params for GSI channels to pass this info to IPA driver. Change-Id: Ibeedeef900b069b3a113b2daabf461797f28287b Signed-off-by: Devdutt Patnaik <dpatnaik@codeaurora.org>
2016-07-26msm: ipa3: changes to IPA USB APIs to support SMMUSkylar Chang
Add support to IPA USB APIs for SMMU. CRs-Fixed: 1046497 Change-Id: Ifca675f308b59913743baf2e59dc3ed515a5b974 Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-07-25usb: pd: Add vendor defined message handlingJack Pham
Add APIs to send and receive vendor defined messages (VDM) over USB PD. A handler for a standard or vendor ID (SVID) can register callbacks to be notified of reception of VDM messages. One use case is for another kernel driver, such as DisplayPort, to be able to be notified when an Alternate Mode adapter is connected to the Type-C port in order to enter modal operation. SVID handlers should maintain their own state and timer resources in order to comply with the Power Delivery Specification. Change-Id: Ibe26e6deeca587f21f8121f6f32cf7cc0a5c3e23 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org> Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-07-22Merge "dwc3: gadget: Add debug event for pull up operation"Linux Build Service Account
2016-07-21usb: dwc3: Fix NULL ptr dereference in ep disable opsHemant Kumar
In RNDIS composition when windows PC is suspended RNDIS driver sends flow control enable which frees the trb pool of the RNDIS endpoints and trb pool pointer is set to NULL. When bus suspend happens RNDIS gsi driver performs endpoint disable operation because remote wake up is disabled. Endpoint disable perform memset 0 on trb pool which is already set to NULL causing the NULL pointer dereference. Fix this by adding NULL check for trb pool before doing memset 0. CRs-Fixed: 1044799 Change-Id: I2a233e85139be0612314e6fa3dfa1d1c0fa04547 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-20usb: phy: qusb: Determine linestate for QUSB2 PHYDevdutt Patnaik
Controller driver passes current speed to QUSB2 PHY driver in the flags parameter. Determine linestate using speed, mode and cable connection status. This deprecates the older mechanism where linestate was determined by reading the now obsoleted QUSB2PHY_PORT_UTMI_STATUS register. Change-Id: I682eb250964f32f93d7b31dae0291aca7fa44362 Signed-off-by: Devdutt Patnaik <dpatnaik@codeaurora.org>
2016-07-20usb: dwc3: Determine connection speed for HS PHYDevdutt Patnaik
DP/DM linestate is needed by the QUSB2 PHY driver to configure the polarity of DP/DM transition triggers for exiting low power mode. This was previously available via the QUSB2PHY_PORT_UTMI_STATUS PHY register which is now deprecated. In order to correctly determine the interrupt polarity we need to pass the current operating speed to the QUSB2 PHY driver. The PHY driver uses mode, speed and cable connection status to determine the linestate and configure interrupt polarities for wake up. Add logic to determine operating speed for host and device mode cases. Change-Id: Iaede1269f514a314bd9717a33100f748e7753b2a Signed-off-by: Devdutt Patnaik <dpatnaik@codeaurora.org>
2016-07-20usb: pd: Don't notify EXTCON_USB unless type is SDP or CDPJack Pham
commit 77f6fd80444c ("usb: pd: Add support to notify plug orientation via extcon") added an additional extcon notifier to indicate orientation. But for the PE_SNK_STARTUP case the change inadvertently notifies EXTCON_USB for all sink states when it should just be for psy_type==USB|USB_CDP. Add the missing curly braces to the if statement. Change-Id: I19d424ff0d46cc0134210424a7d431b331cbf963 Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-07-19usb: phy: qusb: Add support for host mode phy init seqDevdutt Patnaik
Update QUSB2 HS PHY init sequence in host mode to fix enumeration issues due to port reset operation failure. Change-Id: I95daf3e3a833f9daeac6190daa33191f9db8cf26 Signed-off-by: Devdutt Patnaik <dpatnaik@codeaurora.org>
2016-07-15Merge "usb: pd: pdphy: Assign __pdphy before usbpd_create()"Linux Build Service Account
2016-07-15dwc3: gadget: Add debug event for pull up operationMayank Rana
This change adds debug event to capture pull up operation request. It also captures if software fails to perfrom pull-up operation here. CRs-Fixed: 1036037 Change-Id: I77ecff3a2ac395ff3799c1b0618fbc7f5eeb03da Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-07-15Merge "USB: gadget: serial: Fix debugfs crash"Linux Build Service Account
2016-07-15Merge "Merge remote-tracking branch 'origin/tmp-917a9a9133a6' into lsk"Linux Build Service Account
2016-07-15Merge "usb: dwc3: Fix bug in ep disable operation"Linux Build Service Account
2016-07-15USB: gadget: serial: Fix debugfs crashArumuga Durai A
Serial function driver creates debugfs files even though ports are not allocated. Fetching/reading those files without allocation of ports leads to crash. Check port allocation before creating the files. Change-Id: I85b050a261cca6f961d5d9058efb8b7facf242ce Signed-off-by: Arumuga Durai A <cadurai@codeaurora.org>
2016-07-14usb: pd: pdphy: Assign __pdphy before usbpd_create()Jack Pham
As the PD PHY probes, assign the static __pdphy pointer with the pdphy instance prior to calling usbpd_create(). This ensures that if the policy engine state machine kicks off right away and calls back into the PHY APIs that there is a valid instance found. As further safeguarding, also fix the open/close/signal/write APIs in the case where the instance cannot be found by using pr_err instead of dev_err which would lead to a NULL pointer dereference. Change-Id: I59a01f2ac3b0c374eb3420f40054cc05a80226ba Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-07-13Merge "usb: gadget: f_gsi: Increase USB GSI OUT TRBs from 7 to 31 for ECM"Linux Build Service Account
2016-07-13Merge "usb: dwc3: Change dwc3 irq to oneshot threaded irq"Linux Build Service Account
2016-07-13Merge "usb: gadget: f_gsi: Set speed descriptor pointers to NULL after free"Linux Build Service Account
2016-07-13usb: dwc3: Fix bug in ep disable operationHemant Kumar
__dwc3_gadget_ep_disable API doing memset 0 with size set to DWC3_TRB_NUM. Number of TRBs allocated for gsi endpoints are less than DWC3_TRB_NUM. This results in to memory corruption. Fix this bug by introducing num_trbs member in dwc3_ep structure to save number of trbs allocated in a dma pool upon dma pool creation. Ep disable operation will use num_trbs of a dwc3_ep to perform memset 0. Change-Id: I94b5865ca22b4e1fde0d2cd8dcb218906327a916 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-12usb: gadget: f_gsi: Increase USB GSI OUT TRBs from 7 to 31 for ECMMayank Rana
USB bus suspend with remote wakeup allowed case: 1. SUSPEND interrupt received from controller on USB bus suspend 2. gsi_suspend() blocks ringing of doorbell by USB controller to IPA GSI and schedule usb_ipa_w work with event EVNT_SUSPEND 3. ipa_work_handler() work handler makes sure that USB GSI interface is into IDLE state and calls ipa_usb_xdci_suspend() to put IPA GSI related channel into suspend state and allow turning of IPA's clock 5. ipa_work_handler() decrements PM usage count, allow USB to go into LPM 6. USB controller driver turns off USB clocks and put into LPM USB bus resume with remote wakeup allowed case: 1. WAKEUP interrupt received from controller on USB bus resume 2. USB controller driver turns on USB clocks 3. gsi_resume() increments PM usage count and schedule usb_ipa_w work with event EVENT_RESUME 4. ipa_work_handler() work handler calls ipa_usb_xdci_resume() to resume IPA GSI related channel and turning on IPA's clock 5. ipa_work_handler() unblocks ringing of doorbell by USB controller to IPA GSI In above USB bus resume case using specific host with ECM functionality, host is able to send PING or data packets equal to prepared number of TRBs (currently 7) on USB EP OUT successfully before above resume step 5 then GSI ignores rang doorbell as WRITE pointer updating last consumed TRB is already gone through full cycle. This results into data stall. Hence to fix this issue increase number of TRBs used with USB OUT endpoint from 7 to 31 for USB ECM function with GSI accelerated path. This helps to have always pending TRBs with USB controller and ringing of doorbell is not missed by GSI once above resume step 5 is completed. Also ECM doesn't support aggregation. Hence fix out aggregation size param. CRs-Fixed: 1023149 Change-Id: Ife0f265b65fda92a99f5170154da6cb4c6b113b7 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-07-12Merge remote-tracking branch 'origin/tmp-917a9a9133a6' into lskRunmin Wang
* tmp-917a9: ARM/vdso: Mark the vDSO code read-only after init x86/vdso: Mark the vDSO code read-only after init lkdtm: Verify that '__ro_after_init' works correctly arch: Introduce post-init read-only memory x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings asm-generic: Consolidate mark_rodata_ro() Linux 4.4.6 ld-version: Fix awk regex compile failure target: Drop incorrect ABORT_TASK put for completed commands block: don't optimize for non-cloned bio in bio_get_last_bvec() MIPS: smp.c: Fix uninitialised temp_foreign_map MIPS: Fix build error when SMP is used without GIC ovl: fix getcwd() failure after unsuccessful rmdir ovl: copy new uid/gid into overlayfs runtime inode userfaultfd: don't block on the last VM updates at exit time powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages powerpc/powernv: Add a kmsg_dumper that flushes console output on panic powerpc: Fix dedotify for binutils >= 2.26 Revert "drm/radeon/pm: adjust display configuration after powerstate" drm/radeon: Fix error handling in radeon_flip_work_func. drm/amdgpu: Fix error handling in amdgpu_flip_work_func. Revert "drm/radeon: call hpd_irq_event on resume" x86/mm: Fix slow_virt_to_phys() for X86_PAE again gpu: ipu-v3: Do not bail out on missing optional port nodes mac80211: Fix Public Action frame RX in AP mode mac80211: check PN correctly for GCMP-encrypted fragmented MPDUs mac80211: minstrel_ht: fix a logic error in RTS/CTS handling mac80211: minstrel_ht: set default tx aggregation timeout to 0 mac80211: fix use of uninitialised values in RX aggregation mac80211: minstrel: Change expected throughput unit back to Kbps iwlwifi: mvm: inc pending frames counter also when txing non-sta can: gs_usb: fixed disconnect bug by removing erroneous use of kfree() cfg80211/wext: fix message ordering wext: fix message delay/ordering ovl: fix working on distributed fs as lower layer ovl: ignore lower entries when checking purity of non-directory entries ASoC: wm8958: Fix enum ctl accesses in a wrong type ASoC: wm8994: Fix enum ctl accesses in a wrong type ASoC: samsung: Use IRQ safe spin lock calls ASoC: dapm: Fix ctl value accesses in a wrong type ncpfs: fix a braino in OOM handling in ncp_fill_cache() jffs2: reduce the breakage on recovery from halfway failed rename() dmaengine: at_xdmac: fix residue computation tracing: Fix check for cpu online when event is disabled s390/dasd: fix diag 0x250 inline assembly s390/mm: four page table levels vs. fork KVM: MMU: fix reserved bit check for ept=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 combo KVM: PPC: Book3S HV: Sanitize special-purpose register values on guest exit KVM: s390: correct fprs on SIGP (STOP AND) STORE STATUS KVM: VMX: disable PEBS before a guest entry kvm: cap halt polling at exactly halt_poll_ns PCI: Allow a NULL "parent" pointer in pci_bus_assign_domain_nr() ARM: OMAP2+: hwmod: Introduce ti,no-idle dt property ARM: dts: dra7: do not gate cpsw clock due to errata i877 ARM: mvebu: fix overlap of Crypto SRAM with PCIe memory window arm64: account for sparsemem section alignment when choosing vmemmap offset Linux 4.4.5 drm/amdgpu: fix topaz/tonga gmc assignment in 4.4 stable modules: fix longstanding /proc/kallsyms vs module insertion race. drm/i915: refine qemu south bridge detection drm/i915: more virtual south bridge detection block: get the 1st and last bvec via helpers block: check virt boundary in bio_will_gap() drm/amdgpu: Use drm_calloc_large for VM page_tables array thermal: cpu_cooling: fix out of bounds access in time_in_idle i2c: brcmstb: allocate correct amount of memory for regmap ubi: Fix out of bounds write in volume update code cxl: Fix PSL timebase synchronization detection MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp' MIPS: scache: Fix scache init with invalid line size. USB: serial: option: add support for Quectel UC20 USB: serial: option: add support for Telit LE922 PID 0x1045 USB: qcserial: add Sierra Wireless EM74xx device ID USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (rev3) USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder usb: chipidea: otg: change workqueue ci_otg as freezable ALSA: timer: Fix broken compat timer user status ioctl ALSA: hdspm: Fix zero-division ALSA: hdsp: Fix wrong boolean ctl value accesses ALSA: hdspm: Fix wrong boolean ctl value accesses ALSA: seq: oss: Don't drain at closing a client ALSA: pcm: Fix ioctls for X32 ABI ALSA: timer: Fix ioctls for X32 ABI ALSA: rawmidi: Fix ioctls X32 ABI ALSA: hda - Fix mic issues on Acer Aspire E1-472 ALSA: ctl: Fix ioctls for X32 ABI ALSA: usb-audio: Add a quirk for Plantronics DA45 adv7604: fix tx 5v detect regression dmaengine: pxa_dma: fix cyclic transfers Fix directory hardlinks from deleted directories jffs2: Fix page lock / f->sem deadlock Revert "jffs2: Fix lock acquisition order bug in jffs2_write_begin" Btrfs: fix loading of orphan roots leading to BUG_ON pata-rb532-cf: get rid of the irq_to_gpio() call tracing: Do not have 'comm' filter override event 'comm' field ata: ahci: don't mark HotPlugCapable Ports as external/removable PM / sleep / x86: Fix crash on graph trace through x86 suspend arm64: vmemmap: use virtual projection of linear region Adding Intel Lewisburg device IDs for SATA writeback: flush inode cgroup wb switches instead of pinning super_block block: bio: introduce helpers to get the 1st and last bvec libata: Align ata_device's id on a cacheline libata: fix HDIO_GET_32BIT ioctl drm/amdgpu: return from atombios_dp_get_dpcd only when error drm/amdgpu/gfx8: specify which engine to wait before vm flush drm/amdgpu: apply gfx_v8 fixes to gfx_v7 as well drm/amdgpu/pm: update current crtc info after setting the powerstate drm/radeon/pm: update current crtc info after setting the powerstate drm/ast: Fix incorrect register check for DRAM width target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path iommu/amd: Fix boot warning when device 00:00.0 is not iommu covered iommu/amd: Apply workaround for ATS write permission check arm/arm64: KVM: Fix ioctl error handling KVM: x86: fix root cause for missed hardware breakpoints vfio: fix ioctl error handling Fix cifs_uniqueid_to_ino_t() function for s390x CIFS: Fix SMB2+ interim response processing for read requests cifs: fix out-of-bounds access in lease parsing fbcon: set a default value to blink interval kvm: x86: Update tsc multiplier on change. mips/kvm: fix ioctl error handling parisc: Fix ptrace syscall number and return value modification PCI: keystone: Fix MSI code that retrieves struct pcie_port pointer block: Initialize max_dev_sectors to 0 drm/amdgpu: mask out WC from BO on unsupported arches btrfs: async-thread: Fix a use-after-free error for trace btrfs: Fix no_space in write and rm loop Btrfs: fix deadlock running delayed iputs at transaction commit time drivers: sh: Restore legacy clock domain on SuperH platforms use ->d_seq to get coherency between ->d_inode and ->d_flags Linux 4.4.4 iwlwifi: mvm: don't allow sched scans without matches to be started iwlwifi: update and fix 7265 series PCI IDs iwlwifi: pcie: properly configure the debug buffer size for 8000 iwlwifi: dvm: fix WoWLAN security: let security modules use PTRACE_MODE_* with bitmasks IB/cma: Fix RDMA port validation for iWarp x86/irq: Plug vector cleanup race x86/irq: Call irq_force_move_complete with irq descriptor x86/irq: Remove outgoing CPU from vector cleanup mask x86/irq: Remove the cpumask allocation from send_cleanup_vector() x86/irq: Clear move_in_progress before sending cleanup IPI x86/irq: Remove offline cpus from vector cleanup x86/irq: Get rid of code duplication x86/irq: Copy vectormask instead of an AND operation x86/irq: Check vector allocation early x86/irq: Reorganize the search in assign_irq_vector x86/irq: Reorganize the return path in assign_irq_vector x86/irq: Do not use apic_chip_data.old_domain as temporary buffer x86/irq: Validate that irq descriptor is still active x86/irq: Fix a race in x86_vector_free_irqs() x86/irq: Call chip->irq_set_affinity in proper context x86/entry/compat: Add missing CLAC to entry_INT80_32 x86/mpx: Fix off-by-one comparison with nr_registers hpfs: don't truncate the file when delete fails do_last(): ELOOP failure exit should be done after leaving RCU mode should_follow_link(): validate ->d_seq after having decided to follow xen/pcifront: Fix mysterious crashes when NUMA locality information was extracted. xen/pciback: Save the number of MSI-X entries to be copied later. xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMORY xen/scsiback: correct frontend counting xen/arm: correctly handle DMA mapping of compound pages ARM: at91/dt: fix typo in sama5d2 pinmux descriptions ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption do_last(): don't let a bogus return value from ->open() et.al. to confuse us kernel/resource.c: fix muxed resource handling in __request_region() sunrpc/cache: fix off-by-one in qword_get() tracing: Fix showing function event in available_events powerpc/eeh: Fix partial hotplug criterion KVM: x86: MMU: fix ubsan index-out-of-range warning KVM: x86: fix conversion of addresses to linear in 32-bit protected mode KVM: x86: fix missed hardware breakpoints KVM: arm/arm64: vgic: Ensure bitmaps are long enough KVM: async_pf: do not warn on page allocation failures of/irq: Fix msi-map calculation for nonzero rid-base NFSv4: Fix a dentry leak on alias use nfs: fix nfs_size_to_loff_t block: fix use-after-free in dio_bio_complete bio: return EINTR if copying to user space got interrupted i2c: i801: Adding Intel Lewisburg support for iTCO phy: core: fix wrong err handle for phy_power_on writeback: keep superblock pinned during cgroup writeback association switches cgroup: make sure a parent css isn't offlined before its children cpuset: make mm migration asynchronous PCI/AER: Flush workqueue on device remove to avoid use-after-free ARCv2: SMP: Emulate IPI to self using software triggered interrupt ARCv2: STAR 9000950267: Handle return from intr to Delay Slot #2 libata: fix sff host state machine locking while polling qla2xxx: Fix stale pointer access. spi: atmel: fix gpio chip-select in case of non-DT platform target: Fix race with SCF_SEND_DELAYED_TAS handling target: Fix remote-port TMR ABORT + se_cmd fabric stop target: Fix TAS handling for multi-session se_node_acls target: Fix LUN_RESET active TMR descriptor handling target: Fix LUN_RESET active I/O handling for ACK_KREF ALSA: hda - Fixing background noise on Dell Inspiron 3162 ALSA: hda - Apply clock gate workaround to Skylake, too Revert "workqueue: make sure delayed work run in local cpu" workqueue: handle NUMA_NO_NODE for unbound pool_workqueue lookup mac80211: Requeue work after scan complete for all VIF types. rfkill: fix rfkill_fop_read wait_event usage tick/nohz: Set the correct expiry when switching to nohz/lowres mode perf stat: Do not clean event's private stats cdc-acm:exclude Samsung phone 04e8:685d Revert "Staging: panel: usleep_range is preferred over udelay" Staging: speakup: Fix getting port information sd: Optimal I/O size is in bytes, not sectors libceph: don't spam dmesg with stray reply warnings libceph: use the right footer size when skipping a message libceph: don't bail early from try_read() when skipping a message libceph: fix ceph_msg_revoke() seccomp: always propagate NO_NEW_PRIVS on tsync cpufreq: Fix NULL reference crash while accessing policy->governor_data cpufreq: pxa2xx: fix pxa_cpufreq_change_voltage prototype hwmon: (ads1015) Handle negative conversion values correctly hwmon: (gpio-fan) Remove un-necessary speed_index lookup for thermal hook hwmon: (dell-smm) Blacklist Dell Studio XPS 8000 Thermal: do thermal zone update after a cooling device registered Thermal: handle thermal zone device properly during system sleep Thermal: initialize thermal zone device correctly IB/mlx5: Expose correct maximum number of CQE capacity IB/qib: Support creating qps with GFP_NOIO flag IB/qib: fix mcast detach when qp not attached IB/cm: Fix a recently introduced deadlock dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer dmaengine: at_xdmac: fix resume for cyclic transfers dmaengine: dw: fix cyclic transfer callbacks dmaengine: dw: fix cyclic transfer setup nfit: fix multi-interface dimm handling, acpi6.1 compatibility ACPI / PCI / hotplug: unlock in error path in acpiphp_enable_slot() ACPI: Revert "ACPI / video: Add Dell Inspiron 5737 to the blacklist" ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Satellite R830 ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Portege R700 lib: sw842: select crc32 uapi: update install list after nvme.h rename ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill dmi list toshiba_acpi: Fix blank screen at boot if transflective backlight is supported make sure that freeing shmem fast symlinks is RCU-delayed drm/radeon/pm: adjust display configuration after powerstate drm/radeon: Don't hang in radeon_flip_work_func on disabled crtc. (v2) drm: Fix treatment of drm_vblank_offdelay in drm_vblank_on() (v2) drm: Fix drm_vblank_pre/post_modeset regression from Linux 4.4 drm: Prevent vblank counter bumps > 1 with active vblank clients. (v2) drm: No-Op redundant calls to drm_vblank_off() (v2) drm/radeon: use post-decrement in error handling drm/qxl: use kmalloc_array to alloc reloc_info in qxl_process_single_command drm/i915: fix error path in intel_setup_gmbus() drm/i915/dsi: don't pass arbitrary data to sideband drm/i915/dsi: defend gpio table against out of bounds access drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select() drm/i915: Don't reject primary plane windowing with color keying enabled on SKL+ drm/i915/dp: fall back to 18 bpp when sink capability is unknown drm/i915: Make sure DC writes are coherent on flush. drm/i915: Init power domains early in driver load drm/i915: intel_hpd_init(): Fix suspend/resume reprobing drm/i915: Restore inhibiting the load of the default context drm: fix missing reference counting decrease drm/radeon: hold reference to fences in radeon_sa_bo_new drm/radeon: mask out WC from BO on unsupported arches drm: add helper to check for wc memory support drm/radeon: fix DP audio support for APU with DCE4.1 display engine drm/radeon: Add a common function for DFS handling drm/radeon: cleaned up VCO output settings for DP audio drm/radeon: properly byte swap vce firmware setup drm/radeon: clean up fujitsu quirks drm/radeon: Fix "slow" audio over DP on DCE8+ drm/radeon: call hpd_irq_event on resume drm/radeon: Fix off-by-one errors in radeon_vm_bo_set_addr drm/dp/mst: deallocate payload on port destruction drm/dp/mst: Reverse order of MST enable and clearing VC payload table. drm/dp/mst: move GUID storage from mgr, port to only mst branch drm/dp/mst: Calculate MST PBN with 31.32 fixed point drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil drm/dp/mst: fix in RAD element access drm/dp/mst: fix in MSTB RAD initialization drm/dp/mst: always send reply for UP request drm/dp/mst: process broadcast messages correctly drm/nouveau: platform: Fix deferred probe drm/nouveau/disp/dp: ensure sink is powered up before attempting link training drm/nouveau/display: Enable vblank irqs after display engine is on again. drm/nouveau/kms: take mode_config mutex in connector hotplug path drm/amdgpu/pm: adjust display configuration after powerstate drm/amdgpu: Don't hang in amdgpu_flip_work_func on disabled crtc. drm/amdgpu: use post-decrement in error handling drm/amdgpu: fix issue with overlapping userptrs drm/amdgpu: hold reference to fences in amdgpu_sa_bo_new (v2) drm/amdgpu: remove unnecessary forward declaration drm/amdgpu: fix s4 resume drm/amdgpu: remove exp hardware support from iceland drm/amdgpu: don't load MEC2 on topaz drm/amdgpu: drop topaz support from gmc8 module drm/amdgpu: pull topaz gmc bits into gmc_v7 drm/amdgpu: The VI specific EXE bit should only apply to GMC v8.0 above drm/amdgpu: iceland use CI based MC IP drm/amdgpu: move gmc7 support out of CIK dependency drm/amdgpu: no need to load MC firmware on fiji drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2 drm/amdgpu: fix tonga smu resume drm/amdgpu: fix lost sync_to if scheduler is enabled. drm/amdgpu: call hpd_irq_event on resume drm/amdgpu: Fix off-by-one errors in amdgpu_vm_bo_map drm/vmwgfx: respect 'nomodeset' drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates drm/vmwgfx: Fix an incorrect lock check virtio_pci: fix use after free on release virtio_balloon: fix race between migration and ballooning virtio_balloon: fix race by fill and leak regulator: mt6311: MT6311_REGULATOR needs to select REGMAP_I2C regulator: axp20x: Fix GPIO LDO enable value for AXP22x clk: exynos: use irqsave version of spin_lock to avoid deadlock with irqs cxl: use correct operator when writing pcie config space values sparc64: fix incorrect sign extension in sys_sparc64_personality EDAC, mc_sysfs: Fix freeing bus' name EDAC: Robustify workqueues destruction MIPS: Fix buffer overflow in syscall_get_arguments() MIPS: Fix some missing CONFIG_CPU_MIPSR6 #ifdefs MIPS: hpet: Choose a safe value for the ETIME check MIPS: Loongson-3: Fix SMP_ASK_C0COUNT IPI handler Revert "MIPS: Fix PAGE_MASK definition" cputime: Prevent 32bit overflow in time[val|spec]_to_cputime() time: Avoid signed overflow in timekeeping_get_ns() Bluetooth: 6lowpan: Fix handling of uncompressed IPv6 packets Bluetooth: 6lowpan: Fix kernel NULL pointer dereferences Bluetooth: Fix incorrect removing of IRKs Bluetooth: Add support of Toshiba Broadcom based devices Bluetooth: Use continuous scanning when creating LE connections Drivers: hv: vmbus: Fix a Host signaling bug tools: hv: vss: fix the write()'s argument: error -> vss_msg mmc: sdhci: Allow override of get_cd() called from sdhci_request() mmc: sdhci: Allow override of mmc host operations mmc: sdhci-pci: Fix card detect race for Intel BXT/APL mmc: pxamci: fix again read-only gpio detection polarity mmc: sdhci-acpi: Fix card detect race for Intel BXT/APL mmc: mmci: fix an ages old detection error mmc: core: Enable tuning according to the actual timing mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off() mmc: mmc: Fix incorrect use of driver strength switching HS200 and HS400 mmc: sdio: Fix invalid vdd in voltage switch power cycle mmc: sdhci: Fix DMA descriptor with zero data length mmc: sdhci-pci: Do not default to 33 Ohm driver strength for Intel SPT mmc: usdhi6rol0: handle NULL data in timeout clockevents/tcb_clksrc: Prevent disabling an already disabled clock posix-clock: Fix return code on the poll method's error path irqchip/gic-v3-its: Fix double ICC_EOIR write for LPI in EOImode==1 irqchip/atmel-aic: Fix wrong bit operation for IRQ priority irqchip/mxs: Add missing set_handle_irq() irqchip/omap-intc: Add support for spurious irq handling coresight: checking for NULL string in coresight_name_match() dm: fix dm_rq_target_io leak on faults with .request_fn DM w/ blk-mq paths dm snapshot: fix hung bios when copy error occurs dm space map metadata: remove unused variable in brb_pop() tda1004x: only update the frontend properties if locked vb2: fix a regression in poll() behavior for output,streams gspca: ov534/topro: prevent a division by 0 si2157: return -EINVAL if firmware blob is too big media: dvb-core: Don't force CAN_INVERSION_AUTO in oneshot mode rc: sunxi-cir: Initialize the spinlock properly namei: ->d_inode of a pinned dentry is stable only for positives mei: validate request value in client notify request ioctl mei: fix fasync return value on error rtlwifi: rtl8723be: Fix module parameter initialization rtlwifi: rtl8188ee: Fix module parameter initialization rtlwifi: rtl8192se: Fix module parameter initialization rtlwifi: rtl8723ae: Fix initialization of module parameters rtlwifi: rtl8192de: Fix incorrect module parameter descriptions rtlwifi: rtl8192ce: Fix handling of module parameters rtlwifi: rtl8192cu: Add missing parameter setup rtlwifi: rtl_pci: Fix kernel panic locks: fix unlock when fcntl_setlk races with a close um: link with -lpthread uml: fix hostfs mknod() uml: flush stdout before forking s390/fpu: signals vs. floating point control register s390/compat: correct restore of high gprs on signal return s390/dasd: fix performance drop s390/dasd: fix refcount for PAV reassignment s390/dasd: prevent incorrect length error under z/VM after PAV changes s390: fix normalization bug in exception table sorting btrfs: initialize the seq counter in struct btrfs_device Btrfs: Initialize btrfs_root->highest_objectid when loading tree root and subvolume roots Btrfs: fix transaction handle leak on failure to create hard link Btrfs: fix number of transaction units required to create symlink Btrfs: send, don't BUG_ON() when an empty symlink is found btrfs: statfs: report zero available if metadata are exhausted Btrfs: igrab inode in writepage Btrfs: add missing brelse when superblock checksum fails KVM: s390: fix memory overwrites when vx is disabled s390/kvm: remove dependency on struct save_area definition clocksource/drivers/vt8500: Increase the minimum delta genirq: Validate action before dereferencing it in handle_irq_event_percpu() mm: numa: quickly fail allocations for NUMA balancing on full nodes mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED ocfs2: unlock inode if deleting inode from orphan fails drm/i915: shut up gen8+ SDE irq dmesg noise iw_cxgb3: Fix incorrectly returning error on success spi: omap2-mcspi: Prevent duplicate gpio_request drivers: android: correct the size of struct binder_uintptr_t for BC_DEAD_BINDER_DONE USB: option: add "4G LTE usb-modem U901" USB: option: add support for SIM7100E USB: cp210x: add IDs for GE B650V3 and B850V3 boards usb: dwc3: Fix assignment of EP transfer resources can: ems_usb: Fix possible tx overflow dm thin: fix race condition when destroying thin pool workqueue bcache: Change refill_dirty() to always scan entire disk if necessary bcache: prevent crash on changing writeback_running bcache: allows use of register in udev to avoid "device_busy" error. bcache: unregister reboot notifier if bcache fails to unregister device bcache: fix a leak in bch_cached_dev_run() bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device bcache: Add a cond_resched() call to gc bcache: fix a livelock when we cause a huge number of cache misses lib/ucs2_string: Correct ucs2 -> utf8 conversion efi: Add pstore variables to the deletion whitelist efi: Make efivarfs entries immutable by default efi: Make our variable validation list include the guid efi: Do variable name validation tests in utf8 efi: Use ucs2_as_utf8 in efivarfs instead of open coding a bad version lib/ucs2_string: Add ucs2 -> utf8 helper functions ARM: 8457/1: psci-smp is built only for SMP drm/gma500: Use correct unref in the gem bo create function devm_memremap: Fix error value when memremap failed KVM: s390: fix guest fprs memory leak arm64: errata: Add -mpc-relative-literal-loads to build flags ARM: debug-ll: fix BCM63xx entry for multiplatform ext4: fix bh->b_state corruption sctp: Fix port hash table size computation unix_diag: fix incorrect sign extension in unix_lookup_by_ino tipc: unlock in error path rtnl: RTM_GETNETCONF: fix wrong return value IFF_NO_QUEUE: Fix for drivers not calling ether_setup() tcp/dccp: fix another race at listener dismantle route: check and remove route cache when we get route net_sched fix: reclassification needs to consider ether protocol changes pppoe: fix reference counting in PPPoE proxy l2tp: Fix error creating L2TP tunnels net/mlx4_en: Avoid changing dev->features directly in run-time net/mlx4_en: Choose time-stamping shift value according to HW frequency net/mlx4_en: Count HW buffer overrun only once qmi_wwan: add "4G LTE usb-modem U901" tcp: md5: release request socket instead of listener tipc: fix premature addition of node to lookup table af_unix: Guard against other == sk in unix_dgram_sendmsg af_unix: Don't set err in unix_stream_read_generic unless there was an error ipv4: fix memory leaks in ip_cmsg_send() callers bonding: Fix ARP monitor validation bpf: fix branch offset adjustment on backjumps after patching ctx expansion flow_dissector: Fix unaligned access in __skb_flow_dissector when used by eth_get_headlen net: Copy inner L3 and L4 headers as unaligned on GRE TEB sctp: translate network order to host order when users get a hmacid enic: increment devcmd2 result ring in case of timeout tg3: Fix for tg3 transmit queue 0 timed out when too many gso_segs net:Add sysctl_max_skb_frags tcp: do not drop syn_recv on all icmp reports unix: correctly track in-flight fds in sending process user_struct ipv6: fix a lockdep splat ipv6: addrconf: Fix recursive spin lock call ipv6/udp: use sticky pktinfo egress ifindex on connect() ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail() tcp: beware of alignments in tcp_get_info() switchdev: Require RTNL mutex to be held when sending FDB notifications inet: frag: Always orphan skbs inside ip_defrag() tipc: fix connection abort during subscription cancel net: dsa: fix mv88e6xxx switches sctp: allow setting SCTP_SACK_IMMEDIATELY by the application pptp: fix illegal memory access caused by multiple bind()s af_unix: fix struct pid memory leak tcp: fix NULL deref in tcp_v4_send_ack() lwt: fix rx checksum setting for lwt devices tunneling over ipv6 tunnels: Allow IPv6 UDP checksums to be correctly controlled. net: dp83640: Fix tx timestamp overflow handling. gro: Make GRO aware of lightweight tunnels. af_iucv: Validate socket address length in iucv_sock_bind() Conflicts: arch/arm64/Makefile arch/arm64/include/asm/cacheflush.h drivers/mmc/host/sdhci.c drivers/usb/dwc3/ep0.c drivers/usb/dwc3/gadget.c kernel/module.c sound/core/pcm_compat.c CRs-Fixed: 1010239 Signed-off-by: Runmin Wang <runminw@codeaurora.org> Change-Id: I41a28636fc9ad91f9d979b191784609476294cdf
2016-07-12usb: xhci-plat: Add XHCI_STATE_REMOVING flag on removal of usb deviceChandana Kishori Chiluveru
Commit 5dcd26f4e903 ("xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers") avoids queueing configure_endpoint commands for the dropped endpoints. This change adds XHCI_STATE_REMOVING flag on removal of usb device. For usb XHCI hotplugged controllers this will prevent 5 second command timeouts and avoid the races with mutex lock. CRs-Fixed: 1031459 Change-Id: Ic953c4ea17562357cb3845b77c0ab08b7daa1a4d Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2016-07-12xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllersMathias Nyman
PCI hotpluggable xhci controllers such as some Alpine Ridge solutions will remove the xhci controller from the PCI bus when the last USB device is disconnected. Add a flag to indicate that the host is being removed to avoid queueing configure_endpoint commands for the dropped endpoints. For PCI hotplugged controllers this will prevent 5 second command timeouts For static xhci controllers the configure_endpoint command is not needed in the removal case as everything will be returned, freed, and the controller is reset. For now the flag is only set for PCI connected host controllers. Change-Id: Ic0b58b6be29d3c797b21ef5637e4004d08cc0b5c Cc: <stable@vger.kernel.org> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Git-commit: 98d74f9ceaefc2b6c4a6440050163a83be0abede Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [cchiluve@codeaurora.org: resovle merge conflicts] Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2016-07-08usb: dwc3: Change dwc3 irq to oneshot threaded irqHemant Kumar
There is a possibility of dwc3 irq being fired as soon as it gets enabled by tasklet handler. As a result dwc3 hard irq handler disables the irq and schedules tasklet. If tasklet is still running, tasklet_schedule becomes no op and dwc3 irq remains disabled permanently. Fix this issue by handling irq in threaded context with IRQF_ONESHOT flag set. Also update the shared irq flag in xhci platform driver for irq registration in HCD driver. CRs-Fixed: 1038421 Change-Id: I9291cb08c4597922131b8c2d420e834a00a72621 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-08usb: gadget: f_gsi: Set speed descriptor pointers to NULL after freeHemant Kumar
After gsi_unbind() if gsi_bind() function frees speed descriptor due to an error leads to double freeing of descriptor. Fix this issue by setting descriptor pointer back to NULL after freeing the descriptor memory. CRs-Fixed: 1038866 Change-Id: Ic5ee71389b6b20c8557e0a75f9bbe5a1749cf655 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-07usb: phy: qusb-v2: Add USB QUSB PHY for newer platformMayank Rana
This change adds USB QUSB PHY v2 driver which is compatible for USB QUSB PHY having major revision as 2. Change-Id: I1751352ebbe38d4b8c7886085d15043c2e5244f5 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-07-06usb: xhci: Add helper APIs to return xhci dma addressesHemant Kumar
dma address of secondary event ring, transfer ring and device context base address are required to pass to remote entity. Remote entity uses these addresses to program xhci controller registers. Change-Id: Ie0756d646a396a11b41b93e886bca9aff636ee5d Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-06usb: xhci: Add support for secondary interruptersHemant Kumar
Implement APIs to dynamically allocate and free secondary event rings based upon interrupter number. Also add exported APIs in usb core layer which allows secondary event ring management via remote processor entity. Change-Id: I5ee7d44d6cad8e35e22d3c1a027a1eec5d208585 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-05usb: gadget: f_gsi: Use 16KB buffer with each TRB for MBIM DLMayank Rana
There is limitation when IPA is performing de/aggregation with MBIM in scatter-gather mode. Hence instead of 2KB buffer use 16KB buffer (i.e. size of aggregated frame) with each TRB for MBIM DL case. CRs-Fixed: 1032467 Change-Id: I4f73d30711b5606c2ac88ce9d05a8483d64b665d Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-06-24usb: gadget: mtp: Increase RX transfer length to 1MHemant Kumar
The test results indicate that larger transfers improve write speeds. The Rx request transfer length is now 16K bytes. Increase the Rx transfer length from 16K to 1MB to get good throughputs. Change-Id: I3c64e6b96d569b4dc61805a53a0835db9142d55e Signed-off-by: ChandanaKishori Chiluveru <cchilu@codeaurora.org> Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-06-21usb: gadget: Use mult as 3 for GSI related USB IN endpoint alwaysMayank Rana
Interfaces like MBIM or ECM is having multiple data interfaces. In this case, SET_CONFIG() happens before set_alt with data interface 1. Due to this, TXFIFO of GSI IN endpoint is not resized causing low throughput in DL direction. Fix this issue by using mult as 3 for GSI related USB IN endpoint irrespective of super-speed or high-speed mode. CRs-Fixed: 1025031 Change-Id: I10de98ae57284699af3abcd90bafac63ba03844e Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-06-21Revert "usb: dwc3: core: only setting the dma_mask when needed"Hemant Kumar
commit 19bacdc925055f020a ("usb: dwc3: core: only setting the dma_mask when needed") does not allow to modify dma mask if it is already set. Since the platform device has default 32-bit dma mask set change prevents to update the dma mask to 64-bit. This leads to kernel panic due to out of SW-IOMMU space when a function driver tries to map more than 32-bit wide address. Change-Id: I38b178f38277f9a2fa40735f4e15385638403ae6 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-06-16usb: gadget: f_diag: Decrement counter if zero length packet queueing failsMayank Rana
If usb_ep_queue() fails on queueing zero-length packet, driver is not decrementing dpkts_tolaptop_pending counter which may results into seeing count mismatch. Hence decrement dpkts_tolaptop_pending if zero length packet queueing fails. CRs-Fixed: 1027031 Change-Id: Id3c7c2627bdf37524067512db51d3180c570106d Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-06-16usb: gadget: gsi: Fix reporting of USB device's usage countMayank Rana
Currently driver is reading and logging usage count of gadget device but it is required to use usage count of gadget's parent device which is used to prevent USB controller's low power mode. Hence fix reporting of USB devices' usage count. Also mark sm_state to initialized and remove queueing of ipa_usb_wq as ipa_work_handler() is running without USB gadget is initialized i.e. gadget is NULL. CRs-Fixed: 1021499 Change-Id: Ia64afa3adb769674f6a9a60fde2c7397b7e4fe49 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-06-13usb: hcd: Fix double free with bandwidth_mutex on cable disconnectMayank Rana
Roothub's (udev->dev) can be asynchronously suspended due to power.async_suspend is set to true i.e. at time of system suspend and resume, these devices' (usb1 and usb2) kobject count is decremented and incremented respectively. hcd_release() API expects that shared_hcd is being released first before hcd. Due to additional reference count at time of system resume, it results into hcd_release() is called first with hcd (primary) and then shared_hcd. With this, usb_hcd_is_primary_hcd() API is returning true for both hcd and shared_hcd which results into double free of bandwidth_mutex. Fix this issue by identifying hcd to release bandwidth_mutex without depending on which order hcd_release() is called with hcd and share_hcd. CRs-Fixed: 955531 Change-Id: I6bfcfd54525fa6472bd848d4c112fff0c9462355 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-06-10USB: f_mtp: Don't reset string id during function_unbindVijayavardhan Vennapusa
Currently MTP driver is resetting string id during unbind, when cable is disconnected. Due to this, composite driver might run out of string ids, when it tries to allocate string id during next composition switch to MTP. This results in composition switch failure when MTP is selected and eventually causing USB enumeration failure. Fix this by not resetting string id and allocate it once only. Change-Id: Ieacdc8dd76bc45638002eb749ff87aa95f496fa3 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>