mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
OvmfPkg/VirtioNetDxe: add helper VirtioNetUninitRing()
Consolidate the virtio VRING resource cleanup into VirtioNetUninitRing(). Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
b30abe7df4
commit
55dd5a673b
@ -510,10 +510,10 @@ AbortDevice:
|
||||
Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0);
|
||||
|
||||
ReleaseTxRing:
|
||||
VirtioRingUninit (Dev->VirtIo, &Dev->TxRing);
|
||||
VirtioNetUninitRing (Dev, &Dev->TxRing);
|
||||
|
||||
ReleaseRxRing:
|
||||
VirtioRingUninit (Dev->VirtIo, &Dev->RxRing);
|
||||
VirtioNetUninitRing (Dev, &Dev->RxRing);
|
||||
|
||||
DeviceFailed:
|
||||
//
|
||||
|
@ -51,3 +51,19 @@ VirtioNetShutdownTx (
|
||||
{
|
||||
FreePool (Dev->TxFreeStack);
|
||||
}
|
||||
|
||||
/**
|
||||
Release TX and RX VRING resources.
|
||||
|
||||
@param[in,out] Dev The VNET_DEV driver instance which was using the ring.
|
||||
@param[in,out] Ring The virtio ring to clean up.
|
||||
*/
|
||||
VOID
|
||||
EFIAPI
|
||||
VirtioNetUninitRing (
|
||||
IN OUT VNET_DEV *Dev,
|
||||
IN OUT VRING *Ring
|
||||
)
|
||||
{
|
||||
VirtioRingUninit (Dev->VirtIo, Ring);
|
||||
}
|
||||
|
@ -67,8 +67,8 @@ VirtioNetShutdown (
|
||||
Dev->VirtIo->SetDeviceStatus (Dev->VirtIo, 0);
|
||||
VirtioNetShutdownRx (Dev);
|
||||
VirtioNetShutdownTx (Dev);
|
||||
VirtioRingUninit (Dev->VirtIo, &Dev->TxRing);
|
||||
VirtioRingUninit (Dev->VirtIo, &Dev->RxRing);
|
||||
VirtioNetUninitRing (Dev, &Dev->TxRing);
|
||||
VirtioNetUninitRing (Dev, &Dev->RxRing);
|
||||
|
||||
Dev->Snm.State = EfiSimpleNetworkStarted;
|
||||
Status = EFI_SUCCESS;
|
||||
|
@ -70,8 +70,9 @@ faithfully indented) that implement the transition.
|
||||
VirtioNetInitialize | | VirtioNetShutdown
|
||||
VirtioNetInitRing {Rx, Tx} | | VirtioNetShutdownRx [SnpSharedHelpers.c]
|
||||
VirtioRingInit | | VirtioNetShutdownTx [SnpSharedHelpers.c]
|
||||
VirtioNetInitTx | | VirtioRingUninit {Tx, Rx}
|
||||
VirtioNetInitRx | |
|
||||
VirtioNetInitTx | | VirtioNetUninitRing [SnpSharedHelpers.c]
|
||||
VirtioNetInitRx | | {Tx, Rx}
|
||||
| | VirtioRingUninit
|
||||
v |
|
||||
+-----------------------------+
|
||||
| EfiSimpleNetworkInitialized |
|
||||
|
@ -263,6 +263,13 @@ VirtioNetShutdownTx (
|
||||
IN OUT VNET_DEV *Dev
|
||||
);
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
VirtioNetUninitRing (
|
||||
IN OUT VNET_DEV *Dev,
|
||||
IN OUT VRING *Ring
|
||||
);
|
||||
|
||||
//
|
||||
// event callbacks
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user