Browse Source

USB: fsl_usb2_udc: fix potential queue head corruption

Clear next TD field and status field in queue head initialization code
to prevent unpredictable result caused by residue of usb reset.

Signed-off-by: Li Yang <leoli@freescale.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Li Yang 16 năm trước cách đây
mục cha
commit
9a6e184c80
1 tập tin đã thay đổi với 3 bổ sung0 xóa
  1. 3 0
      drivers/usb/gadget/fsl_usb2_udc.c

+ 3 - 0
drivers/usb/gadget/fsl_usb2_udc.c

@@ -404,7 +404,10 @@ static void struct_ep_qh_setup(struct fsl_udc *udc, unsigned char ep_num,
 	}
 	}
 	if (zlt)
 	if (zlt)
 		tmp |= EP_QUEUE_HEAD_ZLT_SEL;
 		tmp |= EP_QUEUE_HEAD_ZLT_SEL;
+
 	p_QH->max_pkt_length = cpu_to_le32(tmp);
 	p_QH->max_pkt_length = cpu_to_le32(tmp);
+	p_QH->next_dtd_ptr = 1;
+	p_QH->size_ioc_int_sts = 0;
 
 
 	return;
 	return;
 }
 }