Hi,
On 03/23/2016 11:38 AM, Lipengcheng wrote:
>> It looks like a wild pointer exists after xhci_mem_cleanup() is called.
>> >Let me try to reproduce it and seek for a fix.
>
> Hi,
> Thanks very much.
> The kernel is 3.10 and is inevitable emergence. The kernel 3.18 is
> accidental, but I don't know the reason.
>
> Operation steps:
>
> usb usb1: root hub lost power or was reset
> usb usb2: root hub lost power or was reset
> usb usb3: root hub lost power or was reset
> usb usb4: root hub lost power or was reset
> usb 1-2: reset high-speed USB device number 2 using hiusb-ehci
> ^Cusb usb5: root hub lost power or was reset <-press ctrl
> +c and the problem will happen
> usb usb6: root hub lost power or was reset
Can you please test below change? It doesn't fix your dma_alloc_coherent()
failure
issue. It is supposed to fix the core dump issue when dma_alloc_coherent()
fails in
xhci_mem_init().
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 80c1de2..53fe4ad 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -1860,6 +1860,11 @@ no_bw:
kfree(xhci->port_array);
kfree(xhci->rh_bw);
kfree(xhci->ext_caps);
+ xhci->usb2_ports = NULL;
+ xhci->usb3_ports = NULL;
+ xhci->port_array = NULL;
+ xhci->rh_bw = NULL;
+ xhci->ext_caps = NULL;
xhci->page_size = 0;
xhci->page_shift = 0;
Best regards,
Baolu
> Thanks,
> Pengcheng Li
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html