The number of ACL entries is currently not sanitized, which
can allow for unreasonably large ACL to be allocated for
later processing. Allowing for this to happen doesn't make much
sense, as there aren't any valid usecases that require a large
ACL, so restrict the number of ACL entries to 16. Also, while we're
here, fix up some of the error handling in a few places.
Change-Id: I5d1371ed180608486bcde1e208a36782986313af
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The condition that determines if we print an error after
failing to register for the mem-buf message queue checks
the return code against EPROBE_DEFER. This is not correct, as
error codes are negative, so fix the check.
Change-Id: I4ed03bde56c6edf66e0ffed060ec23a87a46be54
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The mem-buf device can handle memory from anywhere in the
system. This includes memory with a physical address above
32 bits, so configure the DMA mask for the mem-buf device
based on the system configuration.
Change-Id: If91bb6d8044e8e6f47994acd7e50633b46596808
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Return proper value when DEBUG_FS is disabled.
Change-Id: I6d46dcac6c6321e1a19468a81906e5f98976d29b
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Add A619 GPU variant support to deal with different
feature set of A619 GPU.
Change-Id: I4df945af138d03868fc0b26d915145e564d056ad
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
If a request is dequeued, the transfer is cancelled. Give back all
the started requests.
In most scenarios, the function driver dequeues all requests of a
transfer when there's a failure. If the function driver follows this,
then it's fine. If not, then we'd be skipping TRBs at different points
within the dequeue and enqueue pointers, making dequeue/enqueue pointers
useless. To enforce and make sure that we're properly skipping TRBs,
cancel all the started requests and give back all the cancelled requests
to the function drivers.
Change-Id: Ia344a480048383f3fd7c16afbc9f7b0062492879
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Patch-mainline: linux-usb @ 05/03/20, 13:24
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
The value printed on cpu idle exit is a return value from the PSCI call.
To avoid confusion, let's change the text to match the return value.
Change-Id: I8938287fb4d2887aa190af835618d1d0e9f18a99
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
As a part of sysfs reading of descriptors/attributes/flags,
query commands should only be executed when hba's
power runtime status is active.
To guarantee this, add pm_runtime_get/put_sync()
to those paths where query commands are sent.
Change-Id: Ieb924efd3159c7422e50bb69ecf70b369ec72d89
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Gaurd the rule to re generate vmlinux only when CONFIG_TRIM_UNUSED_KSYMS
is set. Without this change, the vmlinux was generated twice as opposed to
Image generating only once.
Change-Id: I8370f64553b0ed7cb6536aabb1c68d77e5b58bf1
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
HFI error, stream corrupt, will not cause functionality issue.
Do not handle it as error case.
Change-Id: Ieebf003e2fc7bd76dc197e8ff5b8eea8d1a917b3
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add error checks in place to catch the errors returned by the API,
instead of assuming success and proceeding.
Change-Id: I8cd8b826f22a9406e934afaedc88e630695fb187
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Allow the subsystem to use some extra memory allocated
after the end of the image, for the subsystem to use.
This is porting from Kona of commit SHA:1279fb070282.
Change-Id: I79d19c9e48b7893d10ac814fb42e5783651417b4
Signed-off-by: Nurit Lichtenstein <nuritl@codeaurora.org>
The check for the HWO flag in dwc3_gadget_ep_reclaim_trb_sg()
causes us to break out of the loop before we call
dwc3_gadget_ep_reclaim_completed_trb(), which is what likely
should be clearing the HWO flag.
This can cause odd behavior where we never reclaim all the trbs
in the sg list, so we never call giveback on a usb req, and that
will causes transfer stalls.
This effectively resovles the adb stalls seen on HiKey960
after userland changes started only using AIO in adbd.
Change-Id: I64ae9f0e239ae16b60f255d49ea92e2190d57b2c
Cc: YongQin Liu <yongqin.liu@linaro.org>
Cc: Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Cc: Yang Fei <fei.yang@intel.com>
Cc: Thinh Nguyen <thinhn@synopsys.com>
Cc: Tejas Joglekar <tejas.joglekar@synopsys.com>
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: Josh Gao <jmgao@google.com>
Cc: Todd Kjos <tkjos@google.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Cc: stable@vger.kernel.org #4.20+
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Git-commit: 00e21763f2c8cab21b7befa52996d1b18bde5c42
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
When skipping TRBs, we need to account for wrapping around the ring
buffer and not modifying some invalid TRBs. Without this fix, dwc3 won't
be able to check for available TRBs.
Change-Id: I67d1deb78f5ecf03c50c4b2c40a7a067c7efa659
Cc: stable <stable@vger.kernel.org>
Fixes: 7746a8dfb3 ("usb: dwc3: gadget: extract dwc3_gadget_ep_skip_trbs()")
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Git-commit: 2dedea035ae82c5af0595637a6eda4655532b21e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
We track END_TRANSFER command completion. Don't clear transfer
started/ended flag prematurely. Otherwise, we'd run into the problem
with restarting transfer before END_TRANSFER command finishes.
Change-Id: I8290f204b58466879f15736fcc220b1c134df97a
Fixes: 6d8a019614 ("usb: dwc3: gadget: check for Missed Isoc from event status")
Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Git-commit: a114c4ca64bd522aec1790c7e5c60c882f699d8f
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
We may unnecessarily wake up the device when there is no pending
bandwidth switch request. Avoid that by only asserting device wake if
one is pending. We can also have the underlying MHI bus go to suspend
while a device requested bandwidth switch is yet to be processed.
Prevent host suspends by capturing both bus and device votes and
increment pending packets to reject suspends while the processing is
ongoing.
Change-Id: I4eddb6bf9eaa973be5c0b0ac516269e54599b9f2
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Due to the recent issues seen while parsing the va_args(), the compiler
is switched back to the older version, clang-r370808, which is much
stable than the current one. Update the ABI snapshot accordingly.
Change-Id: Ib3c6b23ba40a9c036b961e839b89280aaa1cfd4e
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Only one QMI server arrive should come for WLFW service. Hence only
assert if unexpected second server arrive comes for debug purpose.
Change-Id: Ib8cf80a544038904685a3d3a054fc7f3189a4a30
Signed-off-by: Yue Ma <yuem@codeaurora.org>