]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00211686 mx6 usb: system crash after suspend/resume
authorTony LIU <junjie.liu@freescale.com>
Wed, 30 May 2012 05:56:38 +0000 (13:56 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:12:00 +0000 (14:12 +0200)
commitcd2edfabb0ae2ed2c30cf28684ad7051f2c239a3
tree87107701fd19bad9ba73636784581e972938eca4
parentaea87c39af1da3032a9c25aa95be64bfedf74a2e
ENGR00211686 mx6 usb: system crash after suspend/resume

- the pre-condition of this issue is:
  1. usb gadget must be probed before usb host
  2. usb otg must be in host mode

- the root cause of this issue is
  because of the issue of week 2p5, a vbus change interrupt will
  be issued when system enter into DSM, which will cause system
  exit DSM, so we have a walk aroud to disable usb vbus change
  interrupt when system enter into DSM.

  But this walk around just provent the interrupt generating, the
  vbus change status is still on. When usb gadget is probed, the
  vbus change interrupt will be enabled by its resume interface by
  mistake, and then continuous interrupt will be generated because
  usb otg is in host mode, it can't clear the vbus change status.

  The system have a protect mechanism that when one IRQ's handler
  return IRQ_NONE more than 99000 times, it will through a exception
  to inform such situation. That's the reason why system crash.

Signed-off-by: Tony LIU <junjie.liu@freescale.com>
drivers/usb/gadget/arcotg_udc.c