mirror of https://github.com/acidanthera/audk.git
OvmfPkg/SataControllerDxe: log informative message at DEBUG_INFO level
When a UEFI_DRIVER attempts to open a protocol interface with BY_DRIVER attribute that it already has open with BY_DRIVER attribute, OpenProtocol() returns EFI_ALREADY_STARTED. This is not an error. The UEFI-2.7 spec currently says, > EFI_ALREADY_STARTED -- Attributes is BY_DRIVER and there is an item on > the open list with an attribute of BY_DRIVER > whose agent handle is the same as AgentHandle. (In fact it is so much an expected condition that recent USWG Mantis ticket <https://mantis.uefi.org/mantis/view.php?id=1815> will codify its additional edk2-specific behavior, namely to output the protocol interface at once.) Downgrade the log mask for this one condition to DEBUG_INFO, in SataControllerStart(). This will match the log mask of the other two informative messages in this function, "SataControllerStart START", and "SataControllerStart END status = %r" (at which point Status can only be EFI_SUCCESS). Cc: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
837d9eea7d
commit
5dfba97c4d
|
@ -388,6 +388,7 @@ SataControllerStart (
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
UINTN BailLogMask;
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_PCI_IO_PROTOCOL *PciIo;
|
EFI_PCI_IO_PROTOCOL *PciIo;
|
||||||
UINT64 OriginalPciAttributes;
|
UINT64 OriginalPciAttributes;
|
||||||
|
@ -398,6 +399,7 @@ SataControllerStart (
|
||||||
|
|
||||||
DEBUG ((EFI_D_INFO, "SataControllerStart START\n"));
|
DEBUG ((EFI_D_INFO, "SataControllerStart START\n"));
|
||||||
|
|
||||||
|
BailLogMask = DEBUG_ERROR;
|
||||||
SataPrivateData = NULL;
|
SataPrivateData = NULL;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -412,6 +414,14 @@ SataControllerStart (
|
||||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
|
if (Status == EFI_ALREADY_STARTED) {
|
||||||
|
//
|
||||||
|
// This is an expected condition for OpenProtocol() / BY_DRIVER, in a
|
||||||
|
// DriverBindingStart() member function; degrade the log mask to
|
||||||
|
// DEBUG_INFO.
|
||||||
|
//
|
||||||
|
BailLogMask = DEBUG_INFO;
|
||||||
|
}
|
||||||
goto Bail;
|
goto Bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -542,7 +552,8 @@ ClosePciIo:
|
||||||
);
|
);
|
||||||
|
|
||||||
Bail:
|
Bail:
|
||||||
DEBUG ((EFI_D_ERROR, "SataControllerStart error return status = %r\n", Status));
|
DEBUG ((BailLogMask, "SataControllerStart error return status = %r\n",
|
||||||
|
Status));
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue