X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FBus%2FPci%2FNvmExpressDxe%2FNvmExpress.c;h=d107d96387d8665e30fada5636ae93d7fa6b386f;hb=beeeb22cd5ca38444da3f11cdf83b38244ddee5c;hp=99f89f1d45c2c958459a178a3d2f0e387b69e0b1;hpb=1463ce18ca7c4f971c08cc6341dbb0adb25c831a;p=mirror_edk2.git diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c index 99f89f1d45..d107d96387 100644 --- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c +++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c @@ -213,8 +213,8 @@ EnumerateNvmeDevNamespace ( } gBS->OpenProtocol ( Private->ControllerHandle, - &gEfiPciIoProtocolGuid, - (VOID **) &Private->PciIo, + &gEfiNvmExpressPassThruProtocolGuid, + (VOID **) &Private->Passthru, Private->DriverBindingHandle, Device->DeviceHandle, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER @@ -336,9 +336,9 @@ UnregisterNvmeNamespace ( ) { EFI_STATUS Status; - EFI_PCI_IO_PROTOCOL *PciIo; EFI_BLOCK_IO_PROTOCOL *BlockIo; NVME_DEVICE_PRIVATE_DATA *Device; + NVME_CONTROLLER_PRIVATE_DATA *Private; BlockIo = NULL; @@ -354,14 +354,15 @@ UnregisterNvmeNamespace ( return Status; } - Device = NVME_DEVICE_PRIVATE_DATA_FROM_BLOCK_IO (BlockIo); + Device = NVME_DEVICE_PRIVATE_DATA_FROM_BLOCK_IO (BlockIo); + Private = Device->Controller; // // Close the child handle // gBS->CloseProtocol ( Controller, - &gEfiPciIoProtocolGuid, + &gEfiNvmExpressPassThruProtocolGuid, This->DriverBindingHandle, Handle ); @@ -384,8 +385,8 @@ UnregisterNvmeNamespace ( if (EFI_ERROR (Status)) { gBS->OpenProtocol ( Controller, - &gEfiPciIoProtocolGuid, - (VOID **) &PciIo, + &gEfiNvmExpressPassThruProtocolGuid, + (VOID **) &Private->Passthru, This->DriverBindingHandle, Handle, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER @@ -844,22 +845,24 @@ NvmExpressDriverBindingStop ( BOOLEAN AllChildrenStopped; UINTN Index; NVME_CONTROLLER_PRIVATE_DATA *Private; + EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *PassThru; if (NumberOfChildren == 0) { Status = gBS->OpenProtocol ( Controller, - &gEfiCallerIdGuid, - (VOID **) &Private, + &gEfiNvmExpressPassThruProtocolGuid, + (VOID **) &PassThru, This->DriverBindingHandle, Controller, EFI_OPEN_PROTOCOL_GET_PROTOCOL ); if (!EFI_ERROR (Status)) { + Private = NVME_CONTROLLER_PRIVATE_DATA_FROM_PASS_THRU (PassThru); gBS->UninstallMultipleProtocolInterfaces ( Controller, - &gEfiCallerIdGuid, - Private, + &gEfiNvmExpressPassThruProtocolGuid, + PassThru, NULL ); @@ -940,7 +943,7 @@ NvmExpressUnload ( DeviceHandleBuffer = NULL; Status = gBS->LocateHandleBuffer ( ByProtocol, - &gEfiCallerIdGuid, + &gEfiNvmExpressPassThruProtocolGuid, NULL, &DeviceHandleCount, &DeviceHandleBuffer