[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 3/3] usb1: Dauerhafter Pointer auf lokale Variable gefixt
! usb1: Hubs bleiben als dev->parent von USB-Geräten bestehen und müssen
daher auch nach dem Abschluss des Scans noch gültig sein. malloc statt
lokaler Variablen hilft.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/modules/usb/usb1/detect.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/modules/usb/usb1/detect.c b/src/modules/usb/usb1/detect.c
index 426933b..a99fd36 100644
--- a/src/modules/usb/usb1/detect.c
+++ b/src/modules/usb/usb1/detect.c
@@ -426,7 +426,9 @@ static void rh_disable(struct usb_hub* hub, int port)
void scan_hc(struct usb_hc* hc)
{
- struct usb_hub rh = {
+ struct usb_hub* rh = malloc(sizeof(*rh));
+
+ *rh = (struct usb_hub) {
.dev = {
.hc = hc
},
@@ -438,5 +440,5 @@ void scan_hc(struct usb_hc* hc)
.scan_port = &rh_scan
};
- scan_hub(&rh);
+ scan_hub(rh);
}
--
1.6.0.2