]> 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)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:44 +0000 (08:34 +0200)
commit5bf0ea60cf348a8cd657e34306b148a4ebb5f22a
tree87107701fd19bad9ba73636784581e972938eca4
parent58b967f5e62eff0ef9ccab18ceef0a1edbb21638
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