summary refs log tree commit diff
path: root/security
diff options
context:
space:
mode:
authorRobert Jarzmik <robert.jarzmik@free.fr>2014-10-17 22:43:06 +0200
committerFelipe Balbi <balbi@ti.com>2014-11-03 10:01:18 -0600
commitf4fd094cdfd124d7653a500e81ec3bb7ae3e9919 (patch)
tree8478a055ecd2b442fe6abc68bc4fab96b052c698 /security
parent95fcc6a9014f1ea6419d1e8ce796173410c5ad63 (diff)
downloadlinux-f4fd094cdfd124d7653a500e81ec3bb7ae3e9919.tar.gz
usb: gadget: pxa27x_udc: fix clock prepare and enable
As the udc clock controls both the output signals and the internal IP,
it must be enabled before any UDC register is touched.

The bug is revealed when the clock framework disables the clock for a
couple of milliseconds during the boot sequence, and the endpoint
configuration is lost. The bug is hidden when clock framework is not
used, because no "unused clocks disable" occurs.

This patch fixes the wrong behaviour by ensuring that :
 - whenever a UDC register is read or written, the clock is enabled
 - reworks the endpoints programming to have it done under running clock
 - reworks suspend/resume to ensure the same thing

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions