From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9B63221CF3B61 for ; Mon, 3 Jul 2017 22:18:55 -0700 (PDT) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Jul 2017 22:20:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,307,1496127600"; d="scan'208";a="281840451" Received: from ray-dev.ccr.corp.intel.com ([10.239.9.12]) by fmsmga004.fm.intel.com with ESMTP; 03 Jul 2017 22:20:32 -0700 From: Ruiyu Ni To: edk2-devel@lists.01.org Date: Tue, 4 Jul 2017 13:20:26 +0800 Message-Id: <20170704052030.226408-1-ruiyu.ni@intel.com> X-Mailer: git-send-email 2.12.2.windows.2 Subject: [PATCH v2 0/4] MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jul 2017 05:18:55 -0000 This fixes BULK data loss when transfer is detected as timeout but finished just before stopping endpoint. Ruiyu Ni (4): MdeModulePkg/XhciDxe: Refine IsTransferRingTrb and IsAsyncIntTrb MdeModulePkg/XhciDxe: Dump the CMD/EVENT/INT/BULK ring information MdeModulePkg/XhciDxe: Separate common logic to XhcTransfer MdeModulePkg/XhciDxe: Check timeout URB again after stopping endpoint MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c | 304 ++++++++++++++----------------- MdeModulePkg/Bus/Pci/XhciDxe/Xhci.h | 3 +- MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.c | 187 +++++++++++++------ MdeModulePkg/Bus/Pci/XhciDxe/XhciSched.h | 8 +- 4 files changed, 274 insertions(+), 228 deletions(-) -- 2.12.2.windows.2