Currently many QTI function drivers are exposing incorrect
interface descriptor fields. Fix the same.
Change-Id: I06bd30c0374d57f7e0fe407e74f89b6e7eaf2db8
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
IPC logging for LTE functions (RmNet/ECM) is hogging the CPU and
degrading the throughput. Add module parameter 'debug_mask' to
control these logs. By default, the value of ‘debug_mask’ is 0
which means no packets will be logged.
To enable all logs:
echo 2 > /sys/module/usbnet/parameters/debug_mask
To enable only cv2x log:
echo 1 > /sys/module/usbnet/parameters/debug_mask
To disable all logs (default setting on boot):
echo 0 > /sys/module/usbnet/parameters/debug_mask
Change-Id: Id9497c95cbc8c76d0167cd858f7a36b6af12644d
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Configfs based gadget relies on userspace to specify configfs
attributes in order to enable USB composition. This causes USB
enumeration to not happen until userspace comes up.
However, if there is no dependency on userspace then there
is no reason to use configfs and by having an in-kernel USB
gadget we can get USB enumerated much early.
Change-Id: I5feec52ff45c82a166fab73d0d1c586254c7025f
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
This change adds USB HSIC host functionality.
This snapshot is taken as of msm-3.18 'commit cd0018e74c9e
("qseecom: Backport qseecom listener changes to kernel-3.18")'.
Change-Id: I4b954994ae55da43ed4a006e873c3d63944f56a5
Signed-off-by: Prasadarao Durvasula <pdurvasu@codeaurora.org>
Signed-off-by: Sivasri Kumar Vanka <sivasri@codeaurora.org>
Add UTC timestamp logs in usbnet class driver for incoming and
outgoing data packets. This is required for packet profiling,
latency calculations and debug purposes.
By default, the skb and urb kernel addresses will show up as 0's.
To expose actual addresses, please run the command:
echo 0 > /proc/sys/kernel/kptr_restrict
Change-Id: I3cf54eb5d38498c7858b0db07c37c0eaf93c8c37
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add necessary support to flash images to connected MDM in EDL
mode from host PC, via external AP. Also, add a module parameter
'prevent_edl_probe' to prevent 9008 PID (EDL PID) to bind to
ks_bridge driver.
Usage:
To prevent binding to ks_bridge and bind to mdm_data_bridge:
echo 1 > /sys/module/ks_bridge/parameters/prevent_edl_probe
To switch back to default behavior (allow bind to ks_bridge):
echo 0 > /sys/module/ks_bridge/parameters/prevent_edl_probe
While at it, fix potential null pointer dereference in
data_bridge_write.
Change-Id: I170c820803f016a03dcc5952424358e1a9835cfa
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
This change adds ci13xxx_msm and ci13xxx_udc drivers which are
required for peripheral support on targets using ChipIdea Core.
This snapshot is taken as of msm-4.9 'commit 83ae8fd54683
("cfg80211: revert the support for DH IE update")'.
This change also fixes the compilation errors.
Change-Id: I1c40ab227ee729ebea462551c3494ebf378a726b
Signed-off-by: Sivasri Kumar Vanka <sivasri@codeaurora.org>
This change adds PHY msm usb driver which handles PHY initialization,
clock management, and workarounds required after resetting the
hardware and power management.
This snapshot is taken as of msm-4.9 'commit 83ae8fd54683
("cfg80211: revert the support for DH IE update")'.
This change also fixes the compilation errors and adds correct
compatible name.
Change-Id: If9e002fd862aa2dd97a2cf5ce165e82c80f7d21b
Signed-off-by: Sivasri Kumar Vanka <sivasri@codeaurora.org>
Some USB host PCs switch the downstream port mode from
CDP to SDP if the device does not pull DP up within certain
duration (~2s).
This limits the current drawn by the device to 500mA(or 900mA)
as opposed to the possible 1.5A resulting in slow charging of
the battery.
Fix this by driving a DP pulse when there is a connect
notification from PMIC and detected the charger type as CDP.
Change-Id: I76ac4c33dbbc538f5cb680fd1b5c15f8fb3bfe50
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Remove support for Interrupt IN data endpoint. Remove appendix of
ZLP after each OUT URB. Add support for required PIDs.
While at it, clean/refactor other parts of the driver.
Change-Id: I307fe2f70b51655cae9b7a529838b94c59d2ec22
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Use 'QTI' string in config names to fix incorrect usage.
Also fix the diag bridge config string for sdmsteppe.
Change-Id: I3af8a34653b8d67eb1263e9d5d162688ff381898
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add snapshot of MDM data bridge host and gadget transport drivers
from msm-3.10 commit 7615003cb4c9 ("dsp: asm: Add check for
num_channels before calling q6asm_map_channels").
On top of this, make following changes:
- Rename u_data_usb.c to f_mdm_data.c to use it as function
driver (more changes will be added in subsequent patch)
- Fix copyright info.
- Fix checkpatch warnings and errors (requires some cleanup of
ctrl path logic, more cleanup will of the same will be done in
subsequent patch).
Change-Id: I7ffd04845819d08725c749a040c963e955f8606d
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add snapshot for f_ipc from msm-4.9 commit daaa935914c7
("usb: gadget: f_ipc: Use timeout when waiting for request completion").
Change-Id: I0a0750753b59c743c293ff0e979d4a86a054db5a
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
* quic/dev/msm-4.14-display:
drm/msm/sde: Add AD4 memory range to valid range
drm/bridge: check bridge power status before initialization
drm/msm/dp: Add flag to notify peer_usb_comm support to dp
Change-Id: I4ecabd572da67d1abdf162fff17b039972628c2d
Signed-off-by: Abhijith Desai <desaia@codeaurora.org>
Some Type-C multi-port adapters which do not support usb connection
are advertising the multi-functionality in DP alt mode. If
multi-functionality is preferred, the DP driver assumes the adapter
supports usb connection and USB phy driver will program the PHY mode
to DP+USB.
In source mode, usb PD driver checks for the peer_usb_connection
of the adapter. If it does not support usb then it will stop usb stack
and update the PHY MODE to USB only mode from phy_suspend path.
The result is, usb may program the combo PHY to usb only mode when DP
is already connected. This is causing AUX read/write timeouts when DP
is trying to access the phy registers.
To fix this issue, a flag in SVID connect handler in usbpd driver to
notify peer_usb_comm support to the DP driver. DP driver will read this
flag and program the phy mode.
Change-Id: I0164b239bf2832d480795d90f5e9fc221bcc12ba
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Currently GSI endpoint usb_request pointer is allocated only once
during boot time and it used by dwc3 driver for mapping doorbell register
address with USB endpoint request only once. During composition switch
or connect/disconnect scenarios same USB endpoint is being re-enabled and
does not create mapping again.
On some platforms multiple UDC cores can work in device mode. In case of
binding the UDC with primary controller first and then disconnect the
primary and bind UDC to secondary controller. Driver does not re-mapping
the doorbell address with current UDC core and USB GSI wrapper is trying
to access previously mapped GSI DBL address with previous core
resulting into smmu fault.
Fix this issue by adding re-mapping of doorbell using dwc->sysdev node
to map the doorbell register with correct UDC.
Change-Id: I327126148c2311884aee2aa99bb59b7add06e302
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Add an API to allow a VDM client (e.g. DisplayPort) to indicate
that the system is entering suspend but that an incoming VDM
message is expected. If a VDM is then received, it will bypass
kick_sm() which would otherwise abort the suspend and instead
be handed to the client VDM handler directly.
The flag can be reset either explicitly, if a soft/hard reset
occur, or if a VDM TX is requested, as those situations would
require the state machine to run in the worker thread normally.
Change-Id: I8af7e13abad766f9e4245149da9457f1c62a25d5
Signed-off-by: Jack Pham <jackp@codeaurora.org>
USB diag host driver will be used to connect diag interface
exposed by Qualcomm devices. This is a snapshot of diag_bridge
driver from kernel msm-3.10 'commit 680769b57a70
("wcnss: Fix buffer overflow in wcnss_prealloc_get")'. Fix
checkpatch failures and minor code improvements.
Change-Id: Ide503c5bf729a7e41de98b12c89e4edc12af61fe
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
In case HS device is connected SS phy needs to be powered
up before bus goes to U3 state. Similarly SS phy needs to be
powered down after bus goes to U0 state. Otherwise remote
wake up is resulting into link does not transition to U0 and
stay into RESUME state.
Change-Id: Ieb328618ffb9cb74a4f4c129e4609e9ec200e55b
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Workaround implemneted by commit <8182accd6f9c> ("usb: dwc3:
Powerdown the SS PHY while connected to HS device") needs to
be applied and removed when PHY_WAKEUP_WA_EN flag is set.
This allows the API call to become no-op if workaround is
not required in case super speed port is enabled.
Change-Id: I5e4784a1b5af72f6d85d0c6e94ebc717807c655d
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
When USB3 controller stops responding to stop endpoint
command driver performs global phy reset to recover from
error state. During this USB host mode recovery is performed
and global phy reset is done but DP driver is not notified
of this reset which results in unclocked access of DP link
registers. Fix this by replacing phy global reset with USB
only reset to not affect DP PHY when USB is reset in DP+USB
concurrent mode.
Change-Id: I2acde04c99b84293644fdefdceee4bd00a964e7f
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
32-bit userspace calling into 64-bit kernel
cause different ioctl codes to get generated.
The different ioctl code gets generated
because sizeof is used on mtp and accessory
structures which is different for 32/64
compilation. Because of this, 64-bit kernel
can never execute the right ioctl command.
Implement compat_ioctl to handle such
execution environment.
Change-Id: I26cc10986e28a28eab6f3c65f28f4d2b808112d9
Signed-off-by: Sujeet Kumar <ksujeet@codeaurora.org>
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
SNPS controller can wakeup both HS PHY and SS PHY (for UTMI clock and
PIPE clock) for any xhci command or doorbell rings. This might result
in additional power consumption when only HS device is connected to
root port. To avoid additional power consumption when operating in
high-speed only mode, power down SS PHY.
Change-Id: I35195934c617d7c581976e34da73777bfa13fe6f
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Add support for sending Function Wake capabilities in
response to GET_STATUS from the host. GET_STATUS addressed
to an Interface allows the device to report if it is capable
of doing a Function Remote Wake. Windows8/10 MBIM hosts request
this information before enabling Suspend in SS mode.
Change-Id: Ic0a6db57b2b46804a82847de511feb433a3dfca6
Signed-off-by: Devdutt Patnaik <dpatnaik@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Enable proper DP and DM toggle masks to get PHY wakeup
interrupts on DP/DM state changes in different
bus speeds (FS/HS or LS).
Also make sure that the interrupts are cleared by adding
a delay of 200us to prevent an unwanted interrupt that is
triggered during suspend on peripheral disconnect.
Change-Id: I31b9e50dcc47605fd68b691ed3326136527613ad
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Add the programming sequence to enable, disable and
clear PHY HV interrupts that are triggered on HS wakeup
events.
Change-Id: I2c323d24e86885ccb39407794e372eecc15405a5
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
There is a possibility of dwc3_msm_ep_queue() and msm_ep_unconfig() racing
each other if suspend happens right after configured. This scenario will
result in NOC error if start_xfer command gets queued after
msm_ep_unconfig(). Hence fix the issue by adding spinlock protection for
DBM endpoint configuration and unconfiguration.
Change-Id: I3fd007647370250017c97faebffadb35afb7fc4d
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
On new platforms, endpoint clock gating is added for dbm endpoints
with Synopsys USB3.0 controller. This hardware feature requires
initialization of DBM endpoint before BAM pipe reset for bam2bam mode
data transfers working. Hence change sequence such that do DBM endpoint
initialization first followed by BAM pipe reset and do start transfer
as last operation.
CRs-Fixed: 965207
Change-Id: Ib5bfd1a7d258fe336a4c9924850fc9223c1c81f6
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Add Synopsys High Speed 28 nm Femto driver that
can be interfaced with PHY framework.
Change-Id: Ic1fb76fc0087f7f6bd14b5399bde94a98d4e42b2
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Notify super speed phy such as qmp phy to start/stop link
training (reset and connection done) so that phy can reset
training sequence buffer when required.
Change-Id: I6c1a07d5d4614d368d57e742569ec537e0212e51
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
* remotes/origin/tmp-6e962a3:
Linux 4.14.44
rtc: goldfish: Add missing MODULE_LICENSE
rtc: rp5c01: fix possible race condition
rtc: tx4939: avoid unintended sign extension on a 24 bit shift
rtc: m41t80: fix race conditions
rtc: rk808: fix possible race condition
rtc: hctosys: Ensure system time doesn't overflow time_t
rtc: snvs: Fix usage of snvs_rtc_enable
serial: altera: ensure port->regshift is honored consistently
serial: 8250: Don't service RX FIFO if interrupts are disabled
serial: arc_uart: Fix out-of-bounds access through DT alias
serial: fsl_lpuart: Fix out-of-bounds access through DT alias
serial: imx: Fix out-of-bounds access through serial port index
serial: mxs-auart: Fix out-of-bounds access through serial port index
serial: samsung: Fix out-of-bounds access through serial port index
serial: sh-sci: Fix out-of-bounds access through DT alias
serial: xuartps: Fix out-of-bounds access through DT alias
media: cx25821: prevent out-of-bounds read on array card
media: vivid: fix incorrect capabilities for radio
media: vb2: Fix videobuf2 to map correct area
media: i2c: adv748x: fix HDMI field heights
media: v4l: vsp1: Fix display stalls when requesting too many inputs
media: em28xx: Add Hauppauge SoloHD/DualHD bulk models
media: lgdt3306a: Fix a double kfree on i2c device remove
media: s3c-camif: fix out-of-bounds array access
media: cx23885: Set subdev host data to clk_freq pointer
media: cx23885: Override 888 ImpactVCBe crystal frequency
media: ov5645: add missing of_node_put() in error path
media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
media: dmxdev: fix error code for invalid ioctls
clk: samsung: exynos3250: Fix PLL rates
clk: samsung: exynos5250: Fix PLL rates
clk: samsung: exynos5433: Fix PLL rates
clk: samsung: exynos5260: Fix PLL rates
clk: samsung: exynos7: Fix PLL rates
clk: samsung: s3c2410: Fix PLL rates
clk: rockchip: Prevent calculating mmc phase if clock rate is zero
clk: tegra: Fix pll_u rate configuration
clk: hisilicon: mark wdt_mux_p[] as const
clk: Don't show the incorrect clock phase
clk: rockchip: Fix wrong parent for SDMMC phase clock for rk3228
ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
ASoC: topology: create TLV data for dapm widgets
ASoC: samsung: odroid: Fix 32000 sample rate handling
ASoC: rockchip: rk3288-hdmi-analog: Select needed codecs
ASoC: hdmi-codec: Fix module unloading caused kernel crash
scsi: lpfc: Fix frequency of Release WQE CQEs
scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing
scsi: lpfc: Fix issue_lip if link is disabled
scsi: mvsas: fix wrong endianness of sgpio api
scsi: core: Make SCSI Status CONDITION MET equivalent to GOOD
scsi: aacraid: Insure command thread is not recursively stopped
scsi: iscsi_tcp: set BDI_CAP_STABLE_WRITES when data digest enabled
scsi: sd: Keep disk read-only when re-reading partition
scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM
scsi: qedi: Fix kernel crash during port toggle
scsi: qla4xxx: skip error recovery in case of register disconnect.
scsi: aacraid: fix shutdown crash when init fails
scsi: qedi: Fix truncation of CHAP name and secret
scsi: storvsc: Increase cmd_per_lun for higher speed devices
scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion()
scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
scsi: sym53c8xx_2: iterator underflow in sym_getsync()
scsi: bnx2fc: Fix check in SCSI completion handler for timed out request
scsi: ufs: Enable quirk to ignore sending WRITE_SAME command
scsi: qla2xxx: Fix memory corruption during hba reset test
scsi: mpt3sas: fix an out of bound write
crypto: inside-secure - fix the invalidation step during cra_exit
crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss
crypto: inside-secure - fix the extra cache computation
crypto: inside-secure - fix the cache_len computation
crypto: inside-secure - do not process request if no command was issued
crypto: ccp - don't disable interrupts while setting up debugfs
crypto: atmel-aes - fix the keys zeroing on errors
crypto: inside-secure - wait for the request to complete if in the backlog
staging: lustre: lmv: correctly iput lmo_root
staging: ks7010: Use constants from ieee80211_eid instead of literal ints.
staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr
staging: fsl-dpaa2/eth: Fix incorrect casts
staging: lustre: fix bug in osc_enter_cache_try
staging: bcm2835-audio: Release resources on module_exit()
xhci: Show what USB release number the xHC supports from protocol capablity
Bluetooth: btusb: Add device ID for RTL8822BE
media: em28xx: USB bulk packet size fix
media: lgdt3306a: Fix module count mismatch on usb unplug
usb: gadget: composite: fix incorrect handling of OS desc requests
usb: gadget: udc: change comparison to bitshift when dealing with a mask
usbip: Correct maximum value of CONFIG_USBIP_VHCI_HC_PORTS
usb: gadget: ffs: Execute copy_to_user() with USER_DS set
usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS
usb: dwc2: host: Fix transaction errors in host mode
usb: dwc2: hcd: Fix host channel halt flow
usb: dwc2: Fix interval type issue
xhci: zero usb device slot_id member when disabling and freeing a xhci slot
usb: dwc3: Makefile: fix link error on randconfig
usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
usb: dwc3: Add SoftReset PHY synchonization delay
ALSA: usb-audio: Add native DSD support for Luxman DA-06
Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
net/usb/qmi_wwan.c: Add USB id for lt4120 modem
USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM
usb: host: xhci-plat: revert "usb: host: xhci-plat: enable clk in resume timing"
ARM: dts: imx7d-sdb: Fix regulator-usb-otg2-vbus node name
net: usbnet: fix potential deadlock on 32bit hosts
usb: cdc_acm: prevent race at write to acm while system resumes
usb: dwc2: Fix dwc2_hsotg_core_init_disconnected()
usb: gadget: fsl_udc_core: fix ep valid checks
usb: gadget: core: Fix use-after-free of usb_request
usb: dwc3: omap: don't miss events during suspend/resume
usb: dwc3: Undo PHY init if soft reset fails
usb: gadget: f_uac2: fix bFirstInterface in composite gadget
x86/kexec: Avoid double free_page() upon do_kexec_load() failure
hfsplus: stop workqueue when fill_super() failed
cfg80211: limit wiphy names to 128 bytes
loop: fix LOOP_GET_STATUS lock imbalance
loop: don't call into filesystem while holding lo_ctl_mutex
scsi: zfcp: fix infinite iteration on ERP ready list
scsi: sg: allocate with __GFP_ZERO in sg_build_indirect()
scsi: libsas: defer ata device eh commands to libata
s390: use expoline thunks in the BPF JIT
s390: extend expoline to BC instructions
s390: move spectre sysfs attribute code
s390/kernel: use expoline for indirect branches
s390/ftrace: use expoline for indirect branches
s390/lib: use expoline for indirect branches
s390/crc32-vx: use expoline for indirect branches
s390: move expoline assembler macros to a header
s390: add assembler macros for CPU alternatives
ext2: fix a block leak
sparc: vio: use put_device() instead of kfree()
hv_netvsc: Fix net device attach on older Windows hosts
hv_netvsc: Ensure correct teardown message sequence order
hv_netvsc: Split netvsc_revoke_buf() and netvsc_teardown_gpadl()
hv_netvsc: Use Windows version instead of NVSP version on GPAD teardown
hv_netvsc: common detach logic
hv_netvsc: change GPAD teardown order on older versions
hv_netvsc: use RCU to fix concurrent rx and queue changes
hv_netvsc: disable NAPI before channel close
hv_netvsc: defer queue selection to VF
hv_netvsc: fix race in napi poll when rescheduling
hv_netvsc: cancel subchannel setup before halting device
hv_netvsc: fix error unwind handling if vmbus_open fails
hv_netvsc: only wake transmit queue if link is up
hv_netvsc: avoid retry on send during shutdown
hv_netvsc: Use the num_online_cpus() for channel limit
hv_netvsc: empty current transmit aggregation if flow blocked
hv_netvsc: preserve hw_features on mtu/channels/ringparam changes
hv_netvsc: netvsc_teardown_gpadl() split
hv_netvsc: Set tx_table to equal weight after subchannels open
hv_netvsc: Add initialization of tx_table in netvsc_device_add()
hv_netvsc: Rename tx_send_table to tx_table
hv_netvsc: Rename ind_table to rx_table
hv_netvsc: Fix the real number of queues of non-vRSS cases
vmxnet3: use DMA memory barriers where required
vmxnet3: set the DMA mask before the first DMA map operation
tcp: purge write queue in tcp_connect_init()
sock_diag: fix use-after-free read in __sk_free
packet: in packet_snd start writing at link layer allocation
net: test tailroom before appending to linear skb
net/smc: check for missing nlattrs in SMC_PNETID messages
net: sched: red: avoid hashing NULL child
net/sched: fix refcnt leak in the error path of tcf_vlan_init()
net/mlx4_core: Fix error handling in mlx4_init_port_info.
net: Fix a bug in removing queues from XPS map
ANDROID: proc: fix undefined behavior in proc_uid_base_readdir
x86: vdso: Fix leaky vdso linker with CC=clang.
ANDROID: x86_64_cuttlefish_defconfig: Disable ORC unwinder.
ANDROID: build: cuttlefish: Upgrade clang to newer version.
ANDROID: build: cuttlefish: Upgrade clang to newer version.
ANDROID: build: cuttlefish: Fix path to clang.
Conflicts:
drivers/scsi/sd.c
drivers/scsi/ufs/ufshcd.c
drivers/usb/gadget/function/f_fs.c
Change-Id: Iba64240c1ddf00c0ba4531740be132a385bc4f5e
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Changes in 4.14.44
net: Fix a bug in removing queues from XPS map
net/mlx4_core: Fix error handling in mlx4_init_port_info.
net/sched: fix refcnt leak in the error path of tcf_vlan_init()
net: sched: red: avoid hashing NULL child
net/smc: check for missing nlattrs in SMC_PNETID messages
net: test tailroom before appending to linear skb
packet: in packet_snd start writing at link layer allocation
sock_diag: fix use-after-free read in __sk_free
tcp: purge write queue in tcp_connect_init()
vmxnet3: set the DMA mask before the first DMA map operation
vmxnet3: use DMA memory barriers where required
hv_netvsc: Fix the real number of queues of non-vRSS cases
hv_netvsc: Rename ind_table to rx_table
hv_netvsc: Rename tx_send_table to tx_table
hv_netvsc: Add initialization of tx_table in netvsc_device_add()
hv_netvsc: Set tx_table to equal weight after subchannels open
hv_netvsc: netvsc_teardown_gpadl() split
hv_netvsc: preserve hw_features on mtu/channels/ringparam changes
hv_netvsc: empty current transmit aggregation if flow blocked
hv_netvsc: Use the num_online_cpus() for channel limit
hv_netvsc: avoid retry on send during shutdown
hv_netvsc: only wake transmit queue if link is up
hv_netvsc: fix error unwind handling if vmbus_open fails
hv_netvsc: cancel subchannel setup before halting device
hv_netvsc: fix race in napi poll when rescheduling
hv_netvsc: defer queue selection to VF
hv_netvsc: disable NAPI before channel close
hv_netvsc: use RCU to fix concurrent rx and queue changes
hv_netvsc: change GPAD teardown order on older versions
hv_netvsc: common detach logic
hv_netvsc: Use Windows version instead of NVSP version on GPAD teardown
hv_netvsc: Split netvsc_revoke_buf() and netvsc_teardown_gpadl()
hv_netvsc: Ensure correct teardown message sequence order
hv_netvsc: Fix net device attach on older Windows hosts
sparc: vio: use put_device() instead of kfree()
ext2: fix a block leak
s390: add assembler macros for CPU alternatives
s390: move expoline assembler macros to a header
s390/crc32-vx: use expoline for indirect branches
s390/lib: use expoline for indirect branches
s390/ftrace: use expoline for indirect branches
s390/kernel: use expoline for indirect branches
s390: move spectre sysfs attribute code
s390: extend expoline to BC instructions
s390: use expoline thunks in the BPF JIT
scsi: libsas: defer ata device eh commands to libata
scsi: sg: allocate with __GFP_ZERO in sg_build_indirect()
scsi: zfcp: fix infinite iteration on ERP ready list
loop: don't call into filesystem while holding lo_ctl_mutex
loop: fix LOOP_GET_STATUS lock imbalance
cfg80211: limit wiphy names to 128 bytes
hfsplus: stop workqueue when fill_super() failed
x86/kexec: Avoid double free_page() upon do_kexec_load() failure
usb: gadget: f_uac2: fix bFirstInterface in composite gadget
usb: dwc3: Undo PHY init if soft reset fails
usb: dwc3: omap: don't miss events during suspend/resume
usb: gadget: core: Fix use-after-free of usb_request
usb: gadget: fsl_udc_core: fix ep valid checks
usb: dwc2: Fix dwc2_hsotg_core_init_disconnected()
usb: cdc_acm: prevent race at write to acm while system resumes
net: usbnet: fix potential deadlock on 32bit hosts
ARM: dts: imx7d-sdb: Fix regulator-usb-otg2-vbus node name
usb: host: xhci-plat: revert "usb: host: xhci-plat: enable clk in resume timing"
USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM
net/usb/qmi_wwan.c: Add USB id for lt4120 modem
net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
ALSA: usb-audio: Add native DSD support for Luxman DA-06
usb: dwc3: Add SoftReset PHY synchonization delay
usb: dwc3: Update DWC_usb31 GTXFIFOSIZ reg fields
usb: dwc3: Makefile: fix link error on randconfig
xhci: zero usb device slot_id member when disabling and freeing a xhci slot
usb: dwc2: Fix interval type issue
usb: dwc2: hcd: Fix host channel halt flow
usb: dwc2: host: Fix transaction errors in host mode
usb: gadget: ffs: Let setup() return USB_GADGET_DELAYED_STATUS
usb: gadget: ffs: Execute copy_to_user() with USER_DS set
usbip: Correct maximum value of CONFIG_USBIP_VHCI_HC_PORTS
usb: gadget: udc: change comparison to bitshift when dealing with a mask
usb: gadget: composite: fix incorrect handling of OS desc requests
media: lgdt3306a: Fix module count mismatch on usb unplug
media: em28xx: USB bulk packet size fix
Bluetooth: btusb: Add device ID for RTL8822BE
xhci: Show what USB release number the xHC supports from protocol capablity
staging: bcm2835-audio: Release resources on module_exit()
staging: lustre: fix bug in osc_enter_cache_try
staging: fsl-dpaa2/eth: Fix incorrect casts
staging: rtl8192u: return -ENOMEM on failed allocation of priv->oldaddr
staging: ks7010: Use constants from ieee80211_eid instead of literal ints.
staging: lustre: lmv: correctly iput lmo_root
crypto: inside-secure - wait for the request to complete if in the backlog
crypto: atmel-aes - fix the keys zeroing on errors
crypto: ccp - don't disable interrupts while setting up debugfs
crypto: inside-secure - do not process request if no command was issued
crypto: inside-secure - fix the cache_len computation
crypto: inside-secure - fix the extra cache computation
crypto: sunxi-ss - Add MODULE_ALIAS to sun4i-ss
crypto: inside-secure - fix the invalidation step during cra_exit
scsi: mpt3sas: fix an out of bound write
scsi: qla2xxx: Fix memory corruption during hba reset test
scsi: ufs: Enable quirk to ignore sending WRITE_SAME command
scsi: bnx2fc: Fix check in SCSI completion handler for timed out request
scsi: sym53c8xx_2: iterator underflow in sym_getsync()
scsi: mptfusion: Add bounds check in mptctl_hp_targetinfo()
scsi: qla2xxx: Avoid triggering undefined behavior in qla2x00_mbx_completion()
scsi: storvsc: Increase cmd_per_lun for higher speed devices
scsi: qedi: Fix truncation of CHAP name and secret
scsi: aacraid: fix shutdown crash when init fails
scsi: qla4xxx: skip error recovery in case of register disconnect.
scsi: qedi: Fix kernel crash during port toggle
scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM
scsi: sd: Keep disk read-only when re-reading partition
scsi: iscsi_tcp: set BDI_CAP_STABLE_WRITES when data digest enabled
scsi: aacraid: Insure command thread is not recursively stopped
scsi: core: Make SCSI Status CONDITION MET equivalent to GOOD
scsi: mvsas: fix wrong endianness of sgpio api
scsi: lpfc: Fix issue_lip if link is disabled
scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing
scsi: lpfc: Fix frequency of Release WQE CQEs
ASoC: hdmi-codec: Fix module unloading caused kernel crash
ASoC: rockchip: rk3288-hdmi-analog: Select needed codecs
ASoC: samsung: odroid: Fix 32000 sample rate handling
ASoC: topology: create TLV data for dapm widgets
ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
clk: rockchip: Fix wrong parent for SDMMC phase clock for rk3228
clk: Don't show the incorrect clock phase
clk: hisilicon: mark wdt_mux_p[] as const
clk: tegra: Fix pll_u rate configuration
clk: rockchip: Prevent calculating mmc phase if clock rate is zero
clk: samsung: s3c2410: Fix PLL rates
clk: samsung: exynos7: Fix PLL rates
clk: samsung: exynos5260: Fix PLL rates
clk: samsung: exynos5433: Fix PLL rates
clk: samsung: exynos5250: Fix PLL rates
clk: samsung: exynos3250: Fix PLL rates
media: dmxdev: fix error code for invalid ioctls
media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
media: ov5645: add missing of_node_put() in error path
media: cx23885: Override 888 ImpactVCBe crystal frequency
media: cx23885: Set subdev host data to clk_freq pointer
media: s3c-camif: fix out-of-bounds array access
media: lgdt3306a: Fix a double kfree on i2c device remove
media: em28xx: Add Hauppauge SoloHD/DualHD bulk models
media: v4l: vsp1: Fix display stalls when requesting too many inputs
media: i2c: adv748x: fix HDMI field heights
media: vb2: Fix videobuf2 to map correct area
media: vivid: fix incorrect capabilities for radio
media: cx25821: prevent out-of-bounds read on array card
serial: xuartps: Fix out-of-bounds access through DT alias
serial: sh-sci: Fix out-of-bounds access through DT alias
serial: samsung: Fix out-of-bounds access through serial port index
serial: mxs-auart: Fix out-of-bounds access through serial port index
serial: imx: Fix out-of-bounds access through serial port index
serial: fsl_lpuart: Fix out-of-bounds access through DT alias
serial: arc_uart: Fix out-of-bounds access through DT alias
serial: 8250: Don't service RX FIFO if interrupts are disabled
serial: altera: ensure port->regshift is honored consistently
rtc: snvs: Fix usage of snvs_rtc_enable
rtc: hctosys: Ensure system time doesn't overflow time_t
rtc: rk808: fix possible race condition
rtc: m41t80: fix race conditions
rtc: tx4939: avoid unintended sign extension on a 24 bit shift
rtc: rp5c01: fix possible race condition
rtc: goldfish: Add missing MODULE_LICENSE
Linux 4.14.44
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
[ Upstream commit 5d6ae4f0da8a64a185074dabb1b2f8c148efa741 ]
When handling an OS descriptor request, one of the first operations is
to zero out the request buffer using the wLength from the setup packet.
There is no bounds checking, so a wLength > 4096 would clobber memory
adjacent to the request buffer. Fix this by taking the min of wLength
and the request buffer length prior to the memset. While at it, define
the buffer length in a header file so that magic numbers don't appear
throughout the code.
When returning data to the host, the data length should be the min of
the wLength and the valid data we have to return. Currently we are
returning wLength, thus requests for a wLength greater than the amount
of data in the OS descriptor buffer would return invalid (albeit zero'd)
data following the valid descriptor data. Fix this by counting the
number of bytes when constructing the data and using this when
determining the length of the request.
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Driver needs to pass qdss data received from mdm qdss
bridge driver to host PC. This requires a software data
path using IN endpoint. Bridge driver needs to open
qdss_mdm channel and use exported write() API to pass
the qdss data received from mdm. Driver calls the notify
call back upon write completion.
Change-Id: I4d8ceaed0bf9c85aa17d3f49503cd690917cc117
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* refs/heads/tmp-45c8dbe
Linux 4.14.29
usb: dwc3: Fix GDBGFIFOSPACE_TYPE values
USB: gadget: udc: Add missing platform_device_put() on error in bdc_pci_probe()
scsi: qla2xxx: Fix crashes in qla2x00_probe_one on probe failure
scsi: qla2xxx: Fix logo flag for qlt_free_session_done()
scsi: qla2xxx: Fix NULL pointer access for fcport structure
scsi: qla2xxx: Fix smatch warning in qla25xx_delete_{rsp|req}_que
btrfs: Fix memory barriers usage with device stats counters
btrfs: remove spurious WARN_ON(ref->count < 0) in find_parent_nodes
btrfs: Fix use-after-free when cleaning up fs_devs with a single stale device
btrfs: alloc_chunk: fix DUP stripe size handling
btrfs: add missing initialization in btrfs_check_shared
btrfs: Fix NULL pointer exception in find_bio_stripe
irqchip/gic-v3-its: Ensure nr_ites >= nr_lpis
RDMAVT: Fix synchronization around percpu_ref
fs/aio: Use RCU accessors for kioctx_table->table[]
fs/aio: Add explicit RCU grace period when freeing kioctx
lock_parent() needs to recheck if dentry got __dentry_kill'ed under it
KVM: arm/arm64: vgic: Don't populate multiple LRs with the same vintid
kvm: arm/arm64: vgic-v3: Tighten synchronization for guests using v2 on v3
KVM: arm/arm64: Reduce verbosity of KVM init log
fs: Teach path_connected to handle nfs filesystems with multiple roots.
drm/amdgpu/dce: Don't turn off DP sink when disconnected
drm/radeon: fix prime teardown order
drm/amdgpu: fix prime teardown order
drm/nouveau/bl: Fix oops on driver unbind
ALSA: seq: Clear client entry before deleting else at closing
ALSA: seq: Fix possible UAF in snd_seq_check_queue()
ALSA: hda - Revert power_save option default value
ALSA: pcm: Fix UAF in snd_pcm_oss_get_formats()
parisc: Handle case where flush_cache_range is called with no context
x86/mm: Fix vmalloc_fault to use pXd_large
KVM: x86: Fix device passthrough when SME is active
x86/speculation: Remove Skylake C2 from Speculation Control microcode blacklist
x86/speculation, objtool: Annotate indirect calls/jumps for objtool on 32-bit kernels
x86/vm86/32: Fix POPF emulation
selftests/x86/entry_from_vm86: Add test cases for POPF
selftests/x86: Add tests for the STR and SLDT instructions
selftests/x86: Add tests for User-Mode Instruction Prevention
selftests/x86/entry_from_vm86: Exit with 1 if we fail
x86/cpufeatures: Add Intel PCONFIG cpufeature
x86/cpufeatures: Add Intel Total Memory Encryption cpufeature
ANDROID: arm-smccc: fix clang build
staging: android: ashmem: Fix possible deadlock in ashmem_ioctl
Linux 4.14.28
drm/i915/glk: Disable Guc and HuC on GLK
dmaengine: qcom_hidma: check pending interrupts
IB/mlx5: revisit -Wmaybe-uninitialized warning
ima: relax requiring a file signature for new files with zero length
locking/locktorture: Fix num reader/writer corner cases
rcutorture/configinit: Fix build directory error message
ipvlan: add L2 check for packets arriving via virtual devices
Fix misannotated out-of-line _copy_to_user()
mmc: mmc_test: Ensure command queue is disabled for testing
ASoC: nuc900: Fix a loop timeout test
crypto: caam/qi - use correct print specifier for size_t
mac80211: remove BUG() when interface type is invalid
mac80211_hwsim: enforce PS_MANUAL_POLL to be set after PS_ENABLED
agp/intel: Flush all chipset writes after updating the GGTT
arm64: dts: renesas: salvator-common: Add EthernetAVB PHY reset
powerpc/64: Don't trace irqs-off at interrupt return to soft-disabled context
powerpc/modules: Don't try to restore r2 after a sibling call
drm/amdkfd: Fix memory leaks in kfd topology
veth: set peer GSO values
net: sched: drop qdisc_reset from dev_graft_qdisc
virtio_net: Disable interrupts if napi_complete_done rescheduled napi
media: davinci: vpif_capture: add NULL check on devm_kzalloc return value
media: cpia2: Fix a couple off by one bugs
dm raid: fix raid set size revalidation
media: vsp1: Prevent suspending and resuming DRM pipelines
scsi: dh: add new rdac devices
scsi: devinfo: apply to HP XP the same flags as Hitachi VSP
scsi: core: scsi_get_device_flags_keyed(): Always return device flags
bnxt_en: Don't print "Link speed -1 no longer supported" messages.
spi: sun6i: disable/unprepare clocks on remove
tools/usbip: fixes build with musl libc toolchain
ath10k: fix invalid STS_CAP_OFFSET_MASK
mwifiex: cfg80211: do not change virtual interface during scan processing
clk: qcom: msm8916: fix mnd_width for codec_digcodec
drm/amdgpu:fix virtual dce bug
iwlwifi: mvm: avoid dumping assert log when device is stopped
perf annotate: Fix objdump comment parsing for Intel mov dissassembly
perf annotate: Fix unnecessary memory allocation for s390x
pinctrl: sh-pfc: r8a7795-es1: Fix MOD_SEL1 bit[25:24] to 0x3 when using STP_ISEN_1_D
pinctrl: sh-pfc: r8a7791: Add can_clk function
drm/sun4i: Fix format mask in DE2 driver
pwm: stmpe: Fix wrong register offset for hwpwm=2 case
scsi: ses: don't ask for diagnostic pages repeatedly during probe
drm/amdgpu:fix random missing of FLR NOTIFY
cpufreq: Fix governor module removal race
ath10k: update tdls teardown state to target
iio: health: max30102: Add power enable parameter to get_temp function
iio: adc: ina2xx: Shift bus voltage register to mask flag bits
drm/etnaviv: make THERMAL selectable
power: supply: ab8500_charger: Bail out in case of error in 'ab8500_charger_init_hw_registers()'
power: supply: ab8500_charger: Fix an error handling path
leds: pm8058: Silence pointer to integer size warning
xfrm: Fix xfrm_replay_overflow_offload_esn
userns: Don't fail follow_automount based on s_user_ns
mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
ARM: dts: omap3-n900: Fix the audio CODEC's reset pin
ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin
net: thunderx: Set max queue count taking XDP_TX into account
mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]()
net: xfrm: allow clearing socket xfrm policies.
rtc: brcmstb-waketimer: fix error handling in brcmstb_waketmr_probe()
net: ieee802154: adf7242: Fix bug if defined DEBUG
test_firmware: fix setting old custom fw path back on exit
crypto: cavium - fix memory leak on info
crypto: ecc - Fix NULL pointer deref. on no default_rng
sched: Stop resched_cpu() from sending IPIs to offline CPUs
sched: Stop switched_to_rt() from sending IPIs to offline CPUs
USB: ledtrig-usbport: fix of-node leak
typec: tcpm: fusb302: Resolve out of order messaging events
staging: rtl8822be: fix missing null check on dev_alloc_skb return
drm/amdgpu: fix get_max_engine_clock_in_mhz
ARM: dts: exynos: Correct Trats2 panel reset line
clk: meson: gxbb: fix wrong clock for SARADC/SANA
ARM: dts: koelsch: Move cec_clock to root node
iwlwifi: mvm: rs: don't override the rate history in the search cycle
HID: elo: clear BTN_LEFT mapping
HID: multitouch: Only look at non touch fields in first packet of a frame
video/hdmi: Allow "empty" HDMI infoframes
dma-buf/fence: Fix lock inversion within dma-fence-array
drm/edid: set ELD connector type in drm_edid_to_eld()
Revert "btrfs: use proper endianness accessors for super_copy"
dm mpath: fix passing integrity data
earlycon: add reg-offset to physical address before mapping
serial: core: mark port as initialized in autoconfig
serial: 8250_pci: Add Brainboxes UC-260 4 port serial device
usb: dwc3: Fix lock-up on ID change during system suspend/resume
usb: gadget: f_fs: Fix use-after-free in ffs_fs_kill_sb()
usb: usbmon: Read text within supplied buffer size
usb: quirks: add control message delay for 1b1c:1b20
usbip: vudc: fix null pointer dereference on udc->lock
USB: storage: Add JMicron bridge 152d:2567 to unusual_devs.h
staging: android: ashmem: Fix lockdep issue during llseek
staging: comedi: fix comedi_nsamples_left.
uas: fix comparison for error code
tty/serial: atmel: add new version check for usart
serial: sh-sci: prevent lockup on full TTY buffers
xhci: fix endpoint context tracer output
xhci: Fix front USB ports on ASUS PRIME B350M-A
usb: host: xhci-rcar: add support for r8a77965
ASoC: rt5651: Fix regcache sync errors on resume
ASoC: wm_adsp: For TLV controls only register TLV get/set
ASoC: sgtl5000: Fix suspend/resume
ASoC: sun4i-i2s: Fix RX slot number of SUN8I
x86: Treat R_X86_64_PLT32 as R_X86_64_PC32
net: phy: Restore phy_resume() locking assumption
net: phy: fix resume handling
ANDROID: sdcardfs: fix lock issue on 32 bit/SMP architectures
Change-Id: Ida88909c333e059adf42a8794c3b92b1d15252f7
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Changes in 4.14.28
net: phy: fix resume handling
net: phy: Restore phy_resume() locking assumption
x86: Treat R_X86_64_PLT32 as R_X86_64_PC32
ASoC: sun4i-i2s: Fix RX slot number of SUN8I
ASoC: sgtl5000: Fix suspend/resume
ASoC: wm_adsp: For TLV controls only register TLV get/set
ASoC: rt5651: Fix regcache sync errors on resume
usb: host: xhci-rcar: add support for r8a77965
xhci: Fix front USB ports on ASUS PRIME B350M-A
xhci: fix endpoint context tracer output
serial: sh-sci: prevent lockup on full TTY buffers
tty/serial: atmel: add new version check for usart
uas: fix comparison for error code
staging: comedi: fix comedi_nsamples_left.
staging: android: ashmem: Fix lockdep issue during llseek
USB: storage: Add JMicron bridge 152d:2567 to unusual_devs.h
usbip: vudc: fix null pointer dereference on udc->lock
usb: quirks: add control message delay for 1b1c:1b20
usb: usbmon: Read text within supplied buffer size
usb: gadget: f_fs: Fix use-after-free in ffs_fs_kill_sb()
usb: dwc3: Fix lock-up on ID change during system suspend/resume
serial: 8250_pci: Add Brainboxes UC-260 4 port serial device
serial: core: mark port as initialized in autoconfig
earlycon: add reg-offset to physical address before mapping
dm mpath: fix passing integrity data
Revert "btrfs: use proper endianness accessors for super_copy"
drm/edid: set ELD connector type in drm_edid_to_eld()
dma-buf/fence: Fix lock inversion within dma-fence-array
video/hdmi: Allow "empty" HDMI infoframes
HID: multitouch: Only look at non touch fields in first packet of a frame
HID: elo: clear BTN_LEFT mapping
iwlwifi: mvm: rs: don't override the rate history in the search cycle
ARM: dts: koelsch: Move cec_clock to root node
clk: meson: gxbb: fix wrong clock for SARADC/SANA
ARM: dts: exynos: Correct Trats2 panel reset line
drm/amdgpu: fix get_max_engine_clock_in_mhz
staging: rtl8822be: fix missing null check on dev_alloc_skb return
typec: tcpm: fusb302: Resolve out of order messaging events
USB: ledtrig-usbport: fix of-node leak
sched: Stop switched_to_rt() from sending IPIs to offline CPUs
sched: Stop resched_cpu() from sending IPIs to offline CPUs
crypto: ecc - Fix NULL pointer deref. on no default_rng
crypto: cavium - fix memory leak on info
test_firmware: fix setting old custom fw path back on exit
net: ieee802154: adf7242: Fix bug if defined DEBUG
rtc: brcmstb-waketimer: fix error handling in brcmstb_waketmr_probe()
net: xfrm: allow clearing socket xfrm policies.
mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]()
net: thunderx: Set max queue count taking XDP_TX into account
ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin
ARM: dts: omap3-n900: Fix the audio CODEC's reset pin
mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
userns: Don't fail follow_automount based on s_user_ns
xfrm: Fix xfrm_replay_overflow_offload_esn
leds: pm8058: Silence pointer to integer size warning
power: supply: ab8500_charger: Fix an error handling path
power: supply: ab8500_charger: Bail out in case of error in 'ab8500_charger_init_hw_registers()'
drm/etnaviv: make THERMAL selectable
iio: adc: ina2xx: Shift bus voltage register to mask flag bits
iio: health: max30102: Add power enable parameter to get_temp function
ath10k: update tdls teardown state to target
cpufreq: Fix governor module removal race
drm/amdgpu:fix random missing of FLR NOTIFY
scsi: ses: don't ask for diagnostic pages repeatedly during probe
pwm: stmpe: Fix wrong register offset for hwpwm=2 case
drm/sun4i: Fix format mask in DE2 driver
pinctrl: sh-pfc: r8a7791: Add can_clk function
pinctrl: sh-pfc: r8a7795-es1: Fix MOD_SEL1 bit[25:24] to 0x3 when using STP_ISEN_1_D
perf annotate: Fix unnecessary memory allocation for s390x
perf annotate: Fix objdump comment parsing for Intel mov dissassembly
iwlwifi: mvm: avoid dumping assert log when device is stopped
drm/amdgpu:fix virtual dce bug
clk: qcom: msm8916: fix mnd_width for codec_digcodec
mwifiex: cfg80211: do not change virtual interface during scan processing
ath10k: fix invalid STS_CAP_OFFSET_MASK
tools/usbip: fixes build with musl libc toolchain
spi: sun6i: disable/unprepare clocks on remove
bnxt_en: Don't print "Link speed -1 no longer supported" messages.
scsi: core: scsi_get_device_flags_keyed(): Always return device flags
scsi: devinfo: apply to HP XP the same flags as Hitachi VSP
scsi: dh: add new rdac devices
media: vsp1: Prevent suspending and resuming DRM pipelines
dm raid: fix raid set size revalidation
media: cpia2: Fix a couple off by one bugs
media: davinci: vpif_capture: add NULL check on devm_kzalloc return value
virtio_net: Disable interrupts if napi_complete_done rescheduled napi
net: sched: drop qdisc_reset from dev_graft_qdisc
veth: set peer GSO values
drm/amdkfd: Fix memory leaks in kfd topology
powerpc/modules: Don't try to restore r2 after a sibling call
powerpc/64: Don't trace irqs-off at interrupt return to soft-disabled context
arm64: dts: renesas: salvator-common: Add EthernetAVB PHY reset
agp/intel: Flush all chipset writes after updating the GGTT
mac80211_hwsim: enforce PS_MANUAL_POLL to be set after PS_ENABLED
mac80211: remove BUG() when interface type is invalid
crypto: caam/qi - use correct print specifier for size_t
ASoC: nuc900: Fix a loop timeout test
mmc: mmc_test: Ensure command queue is disabled for testing
Fix misannotated out-of-line _copy_to_user()
ipvlan: add L2 check for packets arriving via virtual devices
rcutorture/configinit: Fix build directory error message
locking/locktorture: Fix num reader/writer corner cases
ima: relax requiring a file signature for new files with zero length
IB/mlx5: revisit -Wmaybe-uninitialized warning
dmaengine: qcom_hidma: check pending interrupts
drm/i915/glk: Disable Guc and HuC on GLK
Linux 4.14.28
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
commit cb88a0588717ba6c756cb5972d75766b273a6817 upstream.
Corsair Strafe RGB keyboard does not respond to usb control messages
sometimes and hence generates timeouts.
Commit de3af5bf25 ("usb: quirks: add delay init quirk for Corsair
Strafe RGB keyboard") tried to fix those timeouts by adding
USB_QUIRK_DELAY_INIT.
Unfortunately, even with this quirk timeouts of usb_control_msg()
can still be seen, but with a lower frequency (approx. 1 out of 15):
[ 29.103520] usb 1-8: string descriptor 0 read error: -110
[ 34.363097] usb 1-8: can't set config #1, error -110
Adding further delays to different locations where usb control
messages are issued just moves the timeouts to other locations,
e.g.:
[ 35.400533] usbhid 1-8:1.0: can't add hid device: -110
[ 35.401014] usbhid: probe of 1-8:1.0 failed with error -110
The only way to reliably avoid those issues is having a pause after
each usb control message. In approx. 200 boot cycles no more timeouts
were seen.
Addionaly, keep USB_QUIRK_DELAY_INIT as it turned out to be necessary
to have the delay in hub_port_connect() after hub_port_init().
The overall boot time seems not to be influenced by these additional
delays, even on fast machines and lightweight distributions.
Fixes: de3af5bf25 ("usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard")
Cc: stable@vger.kernel.org
Signed-off-by: Danilo Krummrich <danilokrummrich@dk-develop.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
IOVA address shall be contiguous in memory but physical address is
not guaranteed to be contiguous when USB SMMU s1 is enabled. Linux IPA
driver needs to use physical address to map it into its own context
bank if IPA SMMU s1 is enabled. Hence this change updates physical and
IOVA address related to USB TRB ring and its data buffer to Linux IPA
driver using dma_get_sgtable() API.
Change-Id: I7caef18903291e9a186dce691b64f387bf7f717e
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change adds the following QTI MSM platform specific features
to the USB DWC3 core & gadget drivers:
- BAM endpoint support
- GSI endpoint support
- low power mode / remote wakeup
- function suspend/wake
- glue layer notifications
- high speed-only fallback
- add additional debug logging
Change-Id: I0f733d05f3f88a4a734d8489b5eb548391ab3af3
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
BADD 3.0 devices support three types of topologies;
Basic I/P, Basic O/P, and BASIC I/P. Accordingly, various
units and terminals have to be parsed which are not
exposed by the device and host must be able to figure
out various class-specific descriptors based on the
profile ID of the device. This patch adds this logic
to build various units and terminals of the AudioControl
interface of a BADD device.
Change-Id: Ib52f884133cdf6e0ec95f49095c14f7d005a5356
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
BADD(Basic Audio Device Definition) is a subset of UAC3
specifications. It defines standard profiles which provide
specific attributes of class descriptors. BADD audio device
provides profile id and BADD supporting host will infer
attributes from profile-id.
Currently USB Audio Host driver has support for UAC1
and UAC2 devices. To handle BADD 3.0 devices, AudioControl
and AudioStreaming Interfaces have to be properly parsed.
The Host has to derive all class-specific information based
on the profile ID that the device exposes. Add support for
parsing the AudioStreaming interfaces exposed by the device.
Change-Id: I726bbb735708fe8e395011c7228a73d5f65c092d
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This API is used to issue stop endpoint command on
requested endpoint in order to retire all active TRBs
in the transfer ring.
Change-Id: I312772367a2cd293982a66ea8b75e04a8b1f2fd0
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Update helper APIs to return physical address as well as
USB SMMU stage 1 address. Physical address is used to map
it to iova for remote processor. S1 address is used by xHC.
Get sg table containing one or mode page sized physical
address corresponding to S1 address for event ring, xfer
ring and xfer buffers using dma_get_sgtable(). Accordingly
update QMI response buffer for XHCI event ring, xfer ring
memory info and xfer buffer.
Change-Id: I6c9ea39d8a87a5bdc5a760d2a1ca85ab3024d985
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Since dcba dma address is not required by class driver
therefore remove the API definitions.
Change-Id: I2623cf3bf406ca0d47ea2549b5163d9e9b7351a1
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
[mrana@codeaurora.org: squashed "usb: host: xhci: Remove helper
API retuning dcba dma address"]
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Function provides controller id used by a remote entity
to identify which usb controller to program to initiate
data transfer.
Change-Id: Ied396f34496104c139a7910ee86844c124e6803f
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>