usb: musb: da8xx: fix babble condition handling
authorBin Liu <b-liu@ti.com>
Tue, 5 Dec 2017 14:45:30 +0000 (08:45 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:05:00 +0000 (10:05 +0100)
commit5f2dbdff20e02e381e557bd9b6dd8111d3b89997
treeb80b8343e82fd34a3a2b60eb2d2b11e99e447a7d
parent68d3bc40f5ca75c2927a9deaf887412976918bf9
usb: musb: da8xx: fix babble condition handling

commit bd3486ded7a0c313a6575343e6c2b21d14476645 upstream.

When babble condition happens, the musb controller might automatically
turns off VBUS. On DA8xx platform, the controller generates drvvbus
interrupt for turning off VBUS along with the babble interrupt.

In this case, we should handle the babble interrupt first and recover
from the babble condition.

This change ignores the drvvbus interrupt if babble interrupt is also
generated at the same time, so the babble recovery routine works
properly.

Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/musb/da8xx.c