浏览代码

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 <mvardan@synopsys.com>
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Vardan Mikayelyan 9 年之前
父节点
当前提交
b0d659022e
共有 2 个文件被更改,包括 2 次插入0 次删除
  1. 1 0
      drivers/usb/dwc2/hcd.c
  2. 1 0
      drivers/usb/dwc2/hcd.h

+ 1 - 0
drivers/usb/dwc2/hcd.c

@@ -4703,6 +4703,7 @@ fail2:
 	spin_unlock_irqrestore(&hsotg->lock, flags);
 	spin_unlock_irqrestore(&hsotg->lock, flags);
 	urb->hcpriv = NULL;
 	urb->hcpriv = NULL;
 	kfree(qtd);
 	kfree(qtd);
+	qtd = NULL;
 fail1:
 fail1:
 	if (qh_allocated) {
 	if (qh_allocated) {
 		struct dwc2_qtd *qtd2, *qtd2_tmp;
 		struct dwc2_qtd *qtd2, *qtd2_tmp;

+ 1 - 0
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);
 	list_del(&qtd->qtd_list_entry);
 	kfree(qtd);
 	kfree(qtd);
+	qtd = NULL;
 }
 }
 
 
 /* Descriptor DMA support functions */
 /* Descriptor DMA support functions */