aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVardan Mikayelyan <[email protected]>2016-04-28 03:20:51 +0000
committerFelipe Balbi <[email protected]>2016-04-28 06:41:12 +0000
commitb0d659022e5c96ee5c4bd62d22d3da2d66de306b (patch)
tree78eab31ee45240d425a627de6b81293e6b8492d2
parentusb: dwc2: gadget: Prevent handling of host interrupts (diff)
downloadkernel-b0d659022e5c96ee5c4bd62d22d3da2d66de306b.tar.gz
kernel-b0d659022e5c96ee5c4bd62d22d3da2d66de306b.zip
usb: dwc2: host: Setting qtd to NULL after freeing it
This is safety change added while doing slub debugging. Affected functions: dwc2_hcd_qtd_unlink_and_free() _dwc2_hcd_urb_enqueue() Signed-off-by: Vardan Mikayelyan <[email protected]> Signed-off-by: John Youn <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
-rw-r--r--drivers/usb/dwc2/hcd.c1
-rw-r--r--drivers/usb/dwc2/hcd.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
index 1f6255131857..2df3d04d26f5 100644
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -4703,6 +4703,7 @@ fail2:
spin_unlock_irqrestore(&hsotg->lock, flags);
urb->hcpriv = NULL;
kfree(qtd);
+ qtd = NULL;
fail1:
if (qh_allocated) {
struct dwc2_qtd *qtd2, *qtd2_tmp;
diff --git a/drivers/usb/dwc2/hcd.h b/drivers/usb/dwc2/hcd.h
index 89fa26cb25f4..7758bfb644ff 100644
--- a/drivers/usb/dwc2/hcd.h
+++ b/drivers/usb/dwc2/hcd.h
@@ -552,6 +552,7 @@ static inline void dwc2_hcd_qtd_unlink_and_free(struct dwc2_hsotg *hsotg,
{
list_del(&qtd->qtd_list_entry);
kfree(qtd);
+ qtd = NULL;
}
/* Descriptor DMA support functions */