aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsb223.kang <sb223.kang@samsung.com>2011-01-20 13:47:05 +0900
committerArve Hjønnevåg <arve@android.com>2011-11-17 17:52:57 -0800
commita3dd9c8166d4be17fb97b40f5de74456168d5ac7 (patch)
tree401fd7705029ebb41ed80ce04f72f7a5a7096b4a
parent5f4b037e6ebb18d65a3ac896032eb559d7fe2baf (diff)
downloadkernel_samsung_crespo-a3dd9c8166d4be17fb97b40f5de74456168d5ac7.zip
kernel_samsung_crespo-a3dd9c8166d4be17fb97b40f5de74456168d5ac7.tar.gz
kernel_samsung_crespo-a3dd9c8166d4be17fb97b40f5de74456168d5ac7.tar.bz2
S5PC11X: USB: Add core reset condition on RESET request
When usb cable is unplugged, RESET interrupt is occurred by host Windows PC. But MAC PC is not occurred on USB tethering mode. If cable is unpluged without reset condition, USB controller is not working anymore. This is patch for USB reset condition. Change-Id: I2c2d3b37074869429c09c4d2e69b9a8ed758c84a Signed-off-by: sb223.kang <sb223.kang@samsung.com>
-rw-r--r--drivers/usb/gadget/s3c_udc_otg.c2
-rw-r--r--drivers/usb/gadget/s3c_udc_otg_xfer_dma.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/s3c_udc_otg.c b/drivers/usb/gadget/s3c_udc_otg.c
index 58a13d5..cc0d548 100644
--- a/drivers/usb/gadget/s3c_udc_otg.c
+++ b/drivers/usb/gadget/s3c_udc_otg.c
@@ -885,6 +885,8 @@ void s3c_udc_soft_connect(void)
writel(uTemp, S3C_UDC_OTG_DCTL);
msleep(1);
+ reset_available = 1;
+
/* Unmask the core interrupt */
writel(readl(S3C_UDC_OTG_GINTSTS), S3C_UDC_OTG_GINTSTS);
writel(GINTMSK_INIT, S3C_UDC_OTG_GINTMSK);
diff --git a/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c b/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c
index 803791d..a29ef10 100644
--- a/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c
+++ b/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c
@@ -493,6 +493,7 @@ static irqreturn_t s3c_udc_irq(int irq, void *_dev)
s3c_udc_pre_setup();
}
} else if (!(usb_status & B_SESSION_VALID)) {
+ reset_available = 1;
if (dev->udc_enabled) {
DEBUG_ISR("Reset without B_SESSION\n");
if (dev->driver) {