From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 479F32035523B for ; Mon, 13 Nov 2017 16:43:40 -0800 (PST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2017 16:47:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,392,1505804400"; d="scan'208";a="173167728" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga005.jf.intel.com with ESMTP; 13 Nov 2017 16:47:46 -0800 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 13 Nov 2017 16:47:45 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 13 Nov 2017 16:47:45 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Tue, 14 Nov 2017 08:47:43 +0800 From: "Zeng, Star" To: "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: "Dong, Eric" , "Zeng, Star" Thread-Topic: [Patch] MdeModulePkg/UsbMassStorageDxe: Verify Get Max LUN value Thread-Index: AQHTWN+eXF7PFpDFEkyCy6xj11CT3KMSE+2QgAAGtxD///F1gIABBmCg Date: Tue, 14 Nov 2017 00:47:42 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103B9B4C88@shsmsx102.ccr.corp.intel.com> References: <20171108221906.6544-1-michael.d.kinney@intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9B495E@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9B49A0@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] MdeModulePkg/UsbMassStorageDxe: Verify Get Max LUN value 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, 14 Nov 2017 00:43:40 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable That is fine. Reviewed-by: Star Zeng Thanks, Star -----Original Message----- From: Kinney, Michael D=20 Sent: Tuesday, November 14, 2017 1:08 AM To: Zeng, Star ; edk2-devel@lists.01.org; Kinney, Mich= ael D Cc: Dong, Eric ; Zeng, Star Subject: RE: [Patch] MdeModulePkg/UsbMassStorageDxe: Verify Get Max LUN val= ue Star, I do not recall the exact value I saw. However, the spec states that one byte is returned with the max LUN value. = It does not state that the byte is composed of bitfields with the lower bi= ts being the max LUN, so I prefer the value check instead if the and mask. Thanks, Mike =20 > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] > On Behalf Of Zeng, Star > Sent: Monday, November 13, 2017 2:03 AM > To: Kinney, Michael D ; edk2-=20 > devel@lists.01.org > Cc: Dong, Eric ; Zeng, Star > Subject: Re: [edk2] [Patch] > MdeModulePkg/UsbMassStorageDxe: Verify Get Max LUN value >=20 > Mike, >=20 > Just curious about what is the value returned for MaxLun in the case=20 > you met before this patch? >=20 > Could *MaxLun &=3D USB_BOT_MAX_LUN work? >=20 >=20 > Thanks, > Star > -----Original Message----- > From: Zeng, Star > Sent: Monday, November 13, 2017 5:45 PM > To: Kinney, Michael D ; edk2-=20 > devel@lists.01.org > Cc: Dong, Eric ; Zeng, Star > Subject: RE: [Patch] MdeModulePkg/UsbMassStorageDxe: > Verify Get Max LUN value >=20 > Reviewed-by: Star Zeng >=20 > How about also adding the compatibility info(now in commit log) to the=20 > code comments? > For example, >=20 > + // > + // If MaxLun is larger than the maximum LUN value > (0x0f) supported by the > + // USB Mass Storage Class Bulk-Only Transport Spec, > then set MaxLun to 0 > + // which means no LUN is associated with the device. > + // It improves compatibility with USB FLASH drives > that have a single LUN, > + // but return invalid maximum LUN values. > + // >=20 > Thanks, > Star > -----Original Message----- > From: Kinney, Michael D > Sent: Thursday, November 9, 2017 6:19 AM > To: edk2-devel@lists.01.org > Cc: Zeng, Star ; Dong, Eric > Subject: [Patch] MdeModulePkg/UsbMassStorageDxe: Verify Get Max LUN=20 > value >=20 > The USB Mass Storage Class Specification states that a maximum LUN=20 > value larger than 0x0F is invalid. Add a check to make sure this=20 > maximum LUN value is in this valid range, and if it is not, then=20 > assume that the device does not support multiple LUNs and return a=20 > maximum LUN value of 0. >=20 > This change improves compatibility with USB FLASH drives that have a=20 > single LUN, but return invalid maximum LUN values. >=20 > Cc: Star Zeng > Cc: Eric Dong > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Michael D Kinney > > --- > MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c | 10 > +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) >=20 > diff --git > a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c > b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c > index 4bb7222b89..c7436cf036 100644 > --- a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c > +++ b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c > @@ -2,7 +2,7 @@ > Implementation of the USB mass storage Bulk-Only Transport=20 > protocol, > according to USB Mass Storage Class Bulk-Only Transport, Revision=20 > 1.0. >=20 > -Copyright (c) 2007 - 2011, Intel Corporation. All rights=20 > reserved.
> +Copyright (c) 2007 - 2017, Intel Corporation. All rights > reserved.
> This program and the accompanying materials are licensed and made=20 > available under the terms and conditions of the BSD License which=20 > accompanies this distribution. The full text of the license may be=20 > found at @@ -576,6 +576,14 @@ UsbBotGetMaxLun ( > 1, > &Result > ); > + if (!EFI_ERROR (Status) && *MaxLun > USB_BOT_MAX_LUN) > { > + // > + // If MaxLun is larger than the maximum LUN value > (0x0f) supported by the > + // USB Mass Storage Class Bulk-Only Transport Spec, > then set MaxLun to 0 > + // which means no LUN is associated with the device. > + // > + *MaxLun =3D 0; > + } >=20 > return Status; > } > -- > 2.14.2.windows.3 >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel