25.08.2015 00:01, Bjørn Mork пишет:
Eugene Shatokhin eugene.shatok...@rosalab.ru writes:
The race may happen when a device (e.g. YOTA 4G LTE Modem) is
unplugged while the system is downloading a large file from the Net.
Hardware breakpoints and Kprobes with delays were used to confirm that
Eugene Shatokhin eugene.shatok...@rosalab.ru writes:
25.08.2015 00:01, Bjørn Mork пишет:
Eugene Shatokhin eugene.shatok...@rosalab.ru writes:
The race may happen when a device (e.g. YOTA 4G LTE Modem) is
unplugged while the system is downloading a large file from the Net.
Hardware
28.08.2015 11:55, Bjørn Mork пишет:
Eugene Shatokhin eugene.shatok...@rosalab.ru writes:
25.08.2015 00:01, Bjørn Mork пишет:
Eugene Shatokhin eugene.shatok...@rosalab.ru writes:
The race may happen when a device (e.g. YOTA 4G LTE Modem) is
unplugged while the system is downloading a large
From: Gregory Herrero gregory.herr...@intel.com
idstschng interrupt should not be used when id pin control is
external. This is already handled on dwc2 host part. Fix it on gadget
part as well.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab
From: Gregory Herrero gregory.herr...@intel.com
Some device may have external id pin control enabled, so op_state
will not be set on id pin interrupt change.
Thus, ensure op_state is set to peripheral during vbus detection.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by:
Make sure there are no requests pending on ep0 before reinitializing
core. Otherwise, dwc2_hsotg_enqueue_setup will fail afterwards.
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/gadget.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git
wIndex field was missing. Also print in natural order instead of
Req first, so that its easier to compare for example against
bus analyzer logs.
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/gadget.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
From: Gregory Herrero gregory.herr...@intel.com
Correctly update lx_state on gadget connection and disconnection.
When usb cable is disconnected, lx_state must be updated to L3 as
controller could be in power off state.
When usb cable is connected, lx_state must be updated to L0 as
controller is
If system is loaded, reset, enum-done and setup interrupts can occur
at the same time. Current interrupt handling sequence will handle
setup packet's interrupt before handling reset interrupt. Which will
break the enumeration process. Correct sequence is to handle reset,
enum-done and then any
From: Gregory Herrero gregory.herr...@intel.com
Disable controller power and enter hibernation when usb bus is
suspended. A phy driver is required to disable the power of the
controller and detect remote-wakeup or disconnection since the
controller will not be able to detect these in this state.
From: Gregory Herrero gregory.herr...@intel.com
When a device is disconnected, lx_state must not be changed since the
device may be disconnected whereas controller is still powered.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
From: Gregory Herrero gregory.herr...@intel.com
If hibernation is supported, resume of devices will be handled in
bus_resume callback.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/core_intr.c | 4
1
From: Gregory Herrero gregory.herr...@intel.com
Some high speed mass storage devices fail to enumerate with following
error:
Cannot enable port %i. Maybe the USB cable is bad?
This happens only when the device is plugged while the controller
is in hibernation state. After exiting hibernation,
From: Gregory Herrero gregory.herr...@intel.com
Print urb-iso_frame_desc.status after it has been updated using
dwc2_hcd_urb_get_iso_desc_status().
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/hcd.c | 11
From: Gregory Herrero gregory.herr...@intel.com
On first qh initialization, hsotg-frame_number is not corresponding
to reality. So read it from host controller to get correct value.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
From: Gregory Herrero gregory.herr...@intel.com
On a disconnect, dwc2 will kill all remaining urbs from qh list.
urbs are given back to hcd with -ETIMEDOUT status.
Some usb device driver, like mass storage, will unlink all urbs
using usb_hcd_unlink_urb when receiving a negative status different
Hi,
This series consists of various bug fixes for both host and gadget
sides. All patches are verified on dwc2 v3.0a with dedicated fifos.
It would be good to get some Tested-bys for other platforms.
It is based on testing/next branch in Felipe's git and depends on [1].
Thank you,
Best regards,
From: Gregory Herrero gregory.herr...@intel.com
Disable host interrupts before synchronising dwc2 irq.
So that interrupts are not generated once controller is stopped.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
From: Gregory Herrero gregory.herr...@intel.com
In case controller is asked to stop while devices are connected,
disconnect all devices and clean up before stopping.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
From: Gregory Herrero gregory.herr...@intel.com
When entering hibernation hprt0 must be read using dwc2_read_hprt0().
Otherwise, any set hprt0 status bits will be cleared when restoring
hprt0 on exit from hibernation.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian
From: Gregory Herrero gregory.herr...@intel.com
lx_state must be used to reflect controller power state only and not
bus state. Thus add a flag to track state during bus suspend.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
GINTSTS.DisconnInt is host only interrupt and should be disable after
dwc2_disable_host_interrupts is called.
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/core.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/dwc2/core.c
From: Gregory Herrero gregory.herr...@intel.com
Frame number is reset in hardware after exiting hibernation.
Thus, reset frame_number and ensure qh are queued with correct
sched_frame.
Otherwise, qh-sched_frame may be too high compared to
current frame number (which is 0). This can delay
From: Gregory Herrero gregory.herr...@intel.com
Port can be resumed in bus_resume callback.
In this case, there is no need to drive resume a second time
when hcd ask for it.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
From: Gregory Herrero gregory.herr...@intel.com
If an interrupt rises during hibernation process, dwc2 will assert
interrupt line to interrupt controller. If interrupt is level
sensitive, interrupt handler will be called in a loop because dwc2
will not be able to clear it while controller is
From: Gregory Herrero gregory.herr...@intel.com
During hcd initialization, hcd and lx states must be resetted to the
working state since controller is powered at this stage.
Same logic applied for stop callback.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf
From: Gregory Herrero gregory.herr...@intel.com
port resume sequence may be used in different places. Create a
function to handle it. Moreover, make hprt0 read-modify-write atomic.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
From: Gregory Herrero gregory.herr...@intel.com
Modifying the pullup state during host mode trig a new enumeration
of attached device. Thus, avoid modifying pullup in host mode.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
From: Gregory Herrero gregory.herr...@intel.com
No point of continue with initialization if core is not in a sane
state.
Signed-off-by: Gregory Herrero gregory.herr...@intel.com
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/gadget.c | 6 +-
1 file changed, 5
From: Gregory Herrero gregory.herr...@intel.com
When disconnecting cable, controller will detect a suspend condition
and enter partial power down. If vbus_session is called by the phy
driver during hibernation, make sure controller exit hibernation
before it is accessed.
Signed-off-by: Jianqiang
If the request being dequeued is already started, disable endpoint
to stop the transfer and then call dwc2_hsotg_complete_request().
Endpoint will be re-enabled on next call to dwc2_hsotg_start_req().
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/gadget.c | 77
ID status change interrupt will not be handled in peripheral only
configuration. So initialize op_state during gadget init.
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/gadget.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/dwc2/gadget.c
There is a 200ms guard period to avoid unnecessary resets of the dwc2
ip. This delay sometimes prove to be too large when usbcv is run with
an ehci host. dwc2 only needs to be reset after addressed state.
Change the logic to reset ip after addressed state.
Signed-off-by: Mian Yousaf Kaukab
Controller enters hibernation through suspend interrupt on
disconnection. On connection, session request interrupt is generated.
dwc2 must exit hibernation and restore state from this interrupt
before continuing.
In host mode, exit from hibernation is handled by bus_resume function.
If dual role configuration is not selected, check and force dr_mode
based on the selected configuration.
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
drivers/usb/dwc2/platform.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/drivers/usb/dwc2/platform.c
dwc2_hsotg_start_req starts a request only if endpoint is not stalled.
Ignore this check for ep0 as core will clear DOEPCTL0.Stall after
sending stall handshake. Prepare instead for receiving next setup
packet.
Signed-off-by: Mian Yousaf Kaukab yousaf.kau...@intel.com
---
On Wed, Aug 26, 2015 at 11:49:14AM +0200, Vincent Stehlé wrote:
On 08/26/2015 06:41 AM, Peter Chen wrote:
..
Vincent, would you supply related u-boot and pc tools for me?
Then, I can reproduce it.
Hi Peter,
Thanks for your concern!
I have updated the bugzilla Bug 103461 with more
Previously, Coccinelle would issue the following false positive:
isd200.c:1478:14-18: ERROR: reference preceded by free on line 1472
This change rewrites the isd200_init_info function to have more explicit
execution pathways to make it easier for scripts and humans to parse.
Signed-off-by: Kris
Hmm, looks like my last two mails didn't get sent to the list.
So, with some delay...
If you want, you could try an even finer bisection. The commit you
identified adds a mutex_lock and a mutex_unlock, and it also changes an
alloc_ordered_workqueue to alloc_workqueue. You could leave
On Fri, Aug 28, 2015 at 09:30:12AM +0800, Peter Chen wrote:
On Thu, Aug 27, 2015 at 09:33:07AM -0500, Nathan Sullivan wrote:
On Thu, Aug 27, 2015 at 01:11:30PM +0530, punnaiah choudary kalluri wrote:
Hi,
On Thu, Aug 27, 2015 at 10:03 AM, Peter Chen peter.c...@freescale.com
wrote:
On Fri, 28 Aug 2015, Roland Weber wrote:
Hmm, looks like my last two mails didn't get sent to the list.
So, with some delay...
If you want, you could try an even finer bisection. The commit you
identified adds a mutex_lock and a mutex_unlock, and it also changes an
On Thu, Aug 27, 2015 at 12:26:28AM +0200, Steinar H. Gunderson wrote:
However, at the same time I get these in dmesg:
[ 221.350440] xhci_hcd :00:14.0: ERROR Unknown event condition 20, HC
probably busted
[ 221.350559] xhci_hcd :00:14.0: ERROR Unknown event condition 20, HC
On 08/28/2015 01:27 PM, Mian Yousaf Kaukab wrote:
From: Gregory Herrero gregory.herr...@intel.com
During hcd initialization, hcd and lx states must be resetted to the
Reset. And what is lx?
working state since controller is powered at this stage.
Same logic applied for stop callback.
43 matches
Mail list logo