|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
From a0559e6445bf2cceba279bf3bcdc062497872db1 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
From: Gerd Hoffmann <kraxel@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
Date: Thu, 7 Jul 2011 15:18:50 +0200
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
Subject: [PATCH 23/35] usb-ohci: raise interrupt on attach
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
Got lost in commit 618c169b577db64ac6589ad48825d2e11760d1a6,
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
add it back in. Also fix codestyle while we are at it.
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
---
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
hw/usb-ohci.c | 8 +++++++-
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
1 files changed, 7 insertions(+), 1 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
index c77a20e..8491d59 100644
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
--- a/hw/usb-ohci.c
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+++ b/hw/usb-ohci.c
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
@@ -327,6 +327,7 @@ static void ohci_attach(USBPort *port1)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
{
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
OHCIState *s = port1->opaque;
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
OHCIPort *port = &s->rhport[port1->index];
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+ uint32_t old_state = port->ctrl;
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
/* set connect status */
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
port->ctrl |= OHCI_PORT_CCS | OHCI_PORT_CSC;
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
@@ -344,6 +345,10 @@ static void ohci_attach(USBPort *port1)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
}
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
DPRINTF("usb-ohci: Attached port %d\n", port1->index);
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+ if (old_state != port->ctrl) {
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+ ohci_set_interrupt(s, OHCI_INTR_RHSC);
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
}
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
static void ohci_detach(USBPort *port1)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
@@ -366,8 +371,9 @@ static void ohci_detach(USBPort *port1)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
}
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
DPRINTF("usb-ohci: Detached port %d\n", port1->index);
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
- if (old_state != port->ctrl)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+ if (old_state != port->ctrl) {
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
ohci_set_interrupt(s, OHCI_INTR_RHSC);
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
}
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
static void ohci_wakeup(USBPort *port1)
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
--
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
1.7.5.1
|
|
![](https://seccdn.libravatar.org/avatar/c015364e55d2dfe86e0bcae194948b0a181e20476928410081813760f0065b4e?s=16&d=retro) |
3f1f29 |
|