usb: r8a66597-udc disable interrupts on shutdown fix
PATCH 1/1 usb: r8a66597-udc disable interrupts on shutdown fix
From: Magnus Damm <[email protected]>
This patch improves the disable_controller() function in the r8a66597-udc driver to disable all interrupts and also clear status flags. With this patch in place the driver survives kexec.
Signed-off-by Magnus Damm <[email protected]>
---
drivers/usb/gadget/r8a66597-udc.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/usb/gadget/r8a66597-udc.c +9 -0
@@ -614,8 +614,17 @@ static void disable_controller(struct r8if (r8a66597->pdata->on_chip) {r8a66597_bset (r8a66597,SCKE ,SYSCFG0 ); +/* disable interrupts */ r8a66597_write (r8a66597,0 ,INTENB0 );r8a66597_write (r8a66597,0 ,INTENB1 ); +r8a66597_write (r8a66597,0 ,BRDYENB ); +r8a66597_write (r8a66597,0 ,BEMPENB ); +r8a66597_write (r8a66597,0 ,NRDYENB ); + +/* clear status */ +r8a66597_write (r8a66597,0 ,BRDYSTS ); +r8a66597_write (r8a66597,0 ,NRDYSTS ); +r8a66597_write (r8a66597,0 ,BEMPSTS );r8a66597_bclr (r8a66597,USBE ,SYSCFG0 );r8a66597_bclr (r8a66597,SCKE ,SYSCFG0 );