]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c
MdeModulePkg/UsbMass: Add more debug message
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbMassStorageDxe / UsbMassBoot.c
index 613008bde76837f174b37335c5a7e47d4bdae30f..d212960bbcafbcfdc508fafc00a39f7987b67a14 100644 (file)
@@ -137,8 +137,9 @@ UsbBootRequestSense (
     break;\r
   }\r
 \r
-  DEBUG ((EFI_D_INFO, "UsbBootRequestSense: (%r) with sense key %x/%x/%x\n",\r
+  DEBUG ((EFI_D_INFO, "UsbBootRequestSense: (%r) with error code (%x) sense key %x/%x/%x\n",\r
           Status,\r
+          SenseData.ErrorCode,\r
           USB_BOOT_SENSE_KEY (SenseData.SenseKey),\r
           SenseData.Asc,\r
           SenseData.Ascq\r
@@ -196,7 +197,7 @@ UsbBootExecCmd (
                            );\r
 \r
   if (Status == EFI_TIMEOUT) {\r
-    DEBUG ((EFI_D_ERROR, "UsbBootExecCmd: Timeout to Exec 0x%x Cmd\n", *(UINT8 *)Cmd));\r
+    DEBUG ((EFI_D_ERROR, "UsbBootExecCmd: %r to Exec 0x%x Cmd\n", Status, *(UINT8 *)Cmd));\r
     return EFI_TIMEOUT;\r
   }\r
 \r
@@ -211,6 +212,7 @@ UsbBootExecCmd (
   //\r
   // If command execution failed, then retrieve error info via sense request.\r
   //\r
+  DEBUG ((EFI_D_ERROR, "UsbBootExecCmd: %r to Exec 0x%x Cmd (Result = %x)\n", Status, *(UINT8 *)Cmd, CmdResult));\r
   return UsbBootRequestSense (UsbMass);\r
 }\r
 \r
@@ -630,10 +632,8 @@ UsbBootGetParams (
 {\r
   EFI_BLOCK_IO_MEDIA          *Media;\r
   EFI_STATUS                  Status;\r
-  UINT8                       CmdSet;\r
 \r
   Media  = &(UsbMass->BlockIoMedia);\r
-  CmdSet = ((EFI_USB_INTERFACE_DESCRIPTOR *) (UsbMass->Context))->InterfaceSubClass;\r
 \r
   Status = UsbBootInquiry (UsbMass);\r
   if (EFI_ERROR (Status)) {\r
@@ -668,18 +668,9 @@ UsbBootGetParams (
     Media->BlockSize        = 0x0800;\r
   }\r
 \r
-  if ((UsbMass->Pdt != USB_PDT_CDROM) && (CmdSet == USB_MASS_STORE_SCSI)) {\r
-    //\r
-    // ModeSense is required for the device with PDT of 0x00/0x07/0x0E,\r
-    // which is from [MassStorageBootabilitySpec-Page7].\r
-    // ModeSense(10) is useless here, while ModeSense(6) defined in SCSI\r
-    // could get the information of WriteProtected.\r
-    // Since not all device support this command, so skip if fail.\r
-    //\r
-    UsbScsiModeSense (UsbMass);\r
-  }\r
+  Status = UsbBootDetectMedia (UsbMass);\r
 \r
-  return UsbBootReadCapacity (UsbMass);\r
+  return Status;\r
 }\r
 \r
 \r
@@ -710,7 +701,7 @@ UsbBootDetectMedia (
   CmdSet = ((EFI_USB_INTERFACE_DESCRIPTOR *) (UsbMass->Context))->InterfaceSubClass;\r
 \r
   Status = UsbBootIsUnitReady (UsbMass);\r
-  if (EFI_ERROR (Status)) {\r
+  if (EFI_ERROR (Status) && (Status != EFI_MEDIA_CHANGED)) {\r
     goto ON_ERROR;\r
   }\r
 \r